位元組順序 小端和大端之爭

2021-08-28 19:22:27 字數 586 閱讀 2150

1個位元組在記憶體儲存沒有爭議,當多個位元組在記憶體中儲存時,就有了不同的意見,目前,主要有2個方式:

看圖:小端位元組序:低位元組存於記憶體低位址;高位元組存於記憶體高位址。如乙個long型資料0x12345678,以位元組為最小單位。

0x0029f458  0x78

0x0029f459  0x56

0x0029f45a  0x34

0x0029f45b  0x12

大端位元組序:高位元組存於記憶體低位址;低位元組存於記憶體高位址。

0x0029f458  0x12

0x0029f459  0x34

0x0029f45a  0x56

0x0029f45b  0x78

intel的cpu都是用的小端模式。

在linux下可以用巨集直接檢視:

printf("little endian:%d\n",__little_endian);//in stdlib.h

printf("big endian:%d\n",__big_endian);

printf("mine:%d\n",__byte_order);

還可以在gdb中直接檢視變數的二進位製碼。

位元組順序 小端和大端之爭

1個位元組在記憶體儲存沒有爭議,當多個位元組在記憶體中儲存時,就有了不同的意見,目前,主要有2個方式 看圖 小端位元組序 低位元組存於記憶體低位址 高位元組存於記憶體高位址。如乙個long型資料0x12345678,以位元組為最小單位。0x0029f458 0x78 0x0029f459 0x56 ...

位元組序 大端和小端

長久以來,位元組序的問題一直困擾我,每次搞明白之後隔一段時間又區分不出了,特此記錄,以便使用時查閱。對於跨位元組的象的儲存,重要的有2點 1 物件的位址 2 儲存器中對於物件中位元組的排列 其中的第二點,由於位元組排列的順序不同,引出了位元組序的問題,即在不同裝置中對於儲存的位元組順序的不同,造成的...

大端和小端位元組序

關於位元組序 大端法 小端法 的定義 也可以說 小端法 little endian 就是低位位元組排放在記憶體的低位址端即該值的起始位址,高位位元組排放在記憶體的高位址端。大端法 big endian 就是高位位元組排放在記憶體的低位址端即該值的起始位址,低位位元組排放在記憶體的高位址端。舉個簡單的...