位元組序(大小端)理解

2021-10-23 18:15:38 字數 679 閱讀 7978

位元組序,就是 大於乙個位元組型別的資料在記憶體中的存放順序。是在跨平台和網路程式設計中,時常要考慮的問題。

位元組序經常被分為兩類:

最高記憶體位址 0xffffffff

棧區(從高記憶體位址,往 低記憶體位址發展。即棧底在高位址,棧頂在低位址)

堆區(從低記憶體位址 ,往 高記憶體位址發展)

全域性區(常量和全域性變數)

**區最低記憶體位址 0x00000000

高低位元組

在十進位制中靠左邊的是高位,靠右邊的是低位,在其他進製也是如此。例如 0x12345678,從高位到低位的位元組依次是0x12、0x34、0x56和0x78。

網路位元組序 就是 大端位元組序:4個位元組的32 bit值以下面的次序傳輸,首先是0~7bit,其次8~15bit,然後16~23bit,最後是24~31bit

主機位元組序 就是 小端位元組序,現代pc大多採用小端位元組序。

記憶體位址 小端模式 大端模式

0x4003 0x12 0x78

0x4002 0x34 0x56

0x4001 0x56 0x34

0x4000 0x78 0x12

採用little-endian模式的cpu對運算元的存放方式是從低位元組到高位元組,而big-endian模式對運算元的存放方式是從高位元組到低位元組。

小端儲存後:0x78563412 大端儲存後:0x12345678

大小端位元組序

1.大端和小端問題 大小端位元組序與硬體有關 intel x86 都是小端位元組序 總結 大端是 按照正常我們書寫的順序來儲存的 小端是 按照我們書寫順序相反的 實現 include int main putchar n printf x n a return 0 檢視輸出結果,判斷大小端位元組序 ...

位元組序 大小端

計算機的基本儲存單元是8位單位元組。多位元組資料,如4位元組的整型資料如何儲存的呢?是高位在記憶體高位元組?還是低位在記憶體高位元組?即位元組是按如何順序存放的?也就是所謂的位元組序,按照存放順序分為大端序 big endian 和小端序 little endian 記憶體位址訪問是由低位址到高位址...

大小端位元組序

計算機硬體有兩種儲存資料的方式 大端位元組序 big endian 和小端位元組序 little endian 比如十六進製制數0x0102,十六進製制每個數字佔4bit,四個數字16bit,也就是2byte,2個位元組儲存。0x0102高位位元組是0x01,低位位元組是0x02。l大端位元組序 高...