大小端對位元組序和位序的影響

2021-08-21 07:39:04 字數 1286 閱讀 3921

1、位元組序(byte order)

大端儲存格式:即多位元組資料的高位元組儲存在低位址中,而低位元組資料存放在高位址中。

小端儲存格式:即多位元組資料的高位元組儲存在高位址中,而低位元組資料存放在低位址中。

例子:short型別的資料 0x0201

大端儲存格式

存放內容

0x02

0x01

記憶體位址

小端儲存格式

存放內容

0x01

0x02

記憶體位址

2、位序(bit order)

在位元組內部也存在大小端問題,相應的大小端定義為:

大端儲存格式:即多位資料的高位儲存在位元組的低位中,而低位資料存放在高位中,且從記憶體的高位開始存放。

小端儲存格式:即多位資料的高位儲存在位元組的高位中,而低位資料存放在低位中,且從記憶體的低位開始存放。

例如:

struct s;

s sa;

sa.bit1=0b3210;//此處數字(3)僅表示輸入時,在位元組中所處的位數(第3位,真實資料為(0或1)*2^3)

sa.bit2=0b876543210;

sa.bit3=0b210;

大端儲存格式

存放內容

sa.bit1(0b0123)

sa.bit2(0b5678)

sa.bit2(0b01234)

sa.bit3(0b012)

0b01235678

0b01234012

位資料012

3567

8012

3401

2位位址76

5432

1076

5432

10記憶體位址

小端儲存格式

存放內容

sa.bit2(0b3210)

sa.bit1(0b3210)

sa.bit3(0b210)

sa.bit2(0b87654)

0b32103210

0b21087654

位資料321

0321

0210

8765

4位位址76

5432

1076

5432

10記憶體位址

位元組序和大小端

大多數處理器中記憶體是可以以位元組為單位進行定址的,當資料型別 int,long 大於1個位元組時,其所占用就的位元組在記憶體中的順序存在兩種模式,分別是小端模式 little endian 和大端模式 big endian 小端模式低位位元組存放在低位址,大端模式高位位元組存放在低位址。大端模式的...

大小端 位元組序與位元序

前兩天被問到乙個關於大小端的問題,很久沒接觸,回答的支支吾吾,說到底還是自己對這個了解的不徹底,今天補上。這裡明確下,大小端包括位元組序和位元序。他們的概念其實也是類似的,區別就如同他們名字,最小排序單位分別是位元組與位元。如果不是做晶元或者網路 通訊協議,搞計算機的一般都不涉及也不關心位元序。關於...

主機位元組序和網路位元組序(大端序,小端序,網路序)

根據cpu的不同我們可以把主機位元組序在記憶體中儲存的順序叫做主機序,也就是我們常說的,大端機和小端機。我們經常看到的有兩種 1.小端機 記憶體中以小端序儲存的機器 將低位元組序儲存在開始的位址 及記憶體較小的記憶體 舉個例子 我們將記憶體從左到右排列 在記憶體中存放0x01020304 2000 ...