C語言 大端小端

2021-10-14 07:56:26 字數 1108 閱讀 9735

大端小端的存在是為了解決計算機內位元組儲存排列問題,很多arm,dsp,以及x86系統採用的是小端模式,而keil c51採用的是大端模式,一般作業系統採用小端模式,而通訊協議是大端的。

例如:0x1234

0x1234低位址

高位址小端

3412

大端12

34

#includeint main(int ar**,char *argc)

else

return 0;

}

union:聯合是在同乙個儲存空間儲存不同型別資料,union資料型別所佔空間等於其最大成員所佔的空間,聯合體訪問都是從基位址開始的(從首位址開始)

#includeint main(int ar**,char *argc)

u; u.b[0]= 0x12;

u.b[1]= 0x34;

printf("0x%x\n",u.a);

return 0;

}

主機位元組順序:小端

網路位元組順序:大端

htonl()     //32位無符號整型的主機位元組順序到網路位元組順序的轉換(小端->>大端)

htons()     //16位無符號短整型的主機位元組順序到網路位元組順序的轉換  (小端->>大端)

ntohl()     //32位無符號整型的網路位元組順序到主機位元組順序的轉換  (大端->>小端)

ntohs()     //16位無符號短整型的網路位元組順序到主機位元組順序的轉換  (大端->>小端

C語言判斷cpu是大端還是小端。

1.大端模式,是指資料的低位儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中 小端模式相反 2.為什麼有大小端之分?因為在計算機系統中,儲存是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組 8bit。在c語言中除了8bit的char之外,還有16bit的short型,32b...

C語言中的結構聯合(大端小端)

結構和聯合是程式設計師自己定義的資料型別。什麼是結構 是一種由程式設計師自定義的資料型別。為了全面的描述乙個物體的各項資料,由不同資料型別組成的一種新的資料型別。定義結構 struct struct name 分號不能少 注意 1.結構體變數定義時不能預設struct 格式為 struct stru...

c語言學習日記 大端和小端

大端模式 big dndian 和小端模式 little indian 大端模式和小端模式是計算機採用位元組儲存機制的兩種方式 兩種位元組類 首先我們要知道位元組序是什麼?位元組的順序就是位元組序。big endian 是指高位位元組排放在記憶體的低位址端,低位位元組排放在記憶體的高位址端.litt...