內(nèi)存邏輯上是一個(gè)大的字節(jié)數(shù)組,當(dāng)存儲(chǔ)大于一個(gè)字節(jié)的數(shù)據(jù)時(shí)就有字節(jié)序的問題。

bytes order.png
大小端經(jīng)常弄混,這里有種簡(jiǎn)單的記憶方法
大端 <-> 大尾端 <-> 高尾端
小端 <-> 小尾端 <-> 低尾端
看數(shù)據(jù)的尾部(這里是 0x67) 是存在內(nèi)存的高地址還是低地址。當(dāng)尾部存在高地址時(shí)就是高尾端(大端),否則是低尾端(小端)。
當(dāng)然判斷自己的電腦是大端還是小端也很簡(jiǎn)單,給一個(gè)多字節(jié)數(shù)據(jù)看看它的起始字節(jié)(內(nèi)存低地址)存的是什么就行了
#include<stdio.h>
int main() {
int a = 0x01234567;
char *p = (char *)&a;
// *p = 0x67 時(shí)是小端, *p = 0x01 時(shí)是大端
printf("%x\n",*p);
return 0;
}