大小端字節(jié)序

內(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;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容