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 ...