位元組序兩種型別的通俗理解

2021-07-13 16:53:43 字數 1174 閱讀 6512

無意間看到關於位元組序型別的知識。看了幾遍沒看懂,仔細查閱才理解,現寫下讓自己最能理解的通俗解釋。

對於某個擁有多個位元組的資料,資料中的這些位元組在記憶體中排列順序有兩個規則:即

littleendian(小端法

)和bigendian(大端法

)。這也就是位元組序的兩個型別。

位元組序:(多位元組型別資料的)多個位元組在記憶體中的儲存順序

兩個讓我最開始很迷糊的概念開始了。

1.小端法:低位位元組排放在記憶體的低位址端,高位位元組排放在記憶體的高位址端

2.大端法:高位位元組排放在記憶體的低位址端,低位位元組排放在記憶體的高位址端

其實之所以迷糊是因為我沒有理解

低/高位位元組

和記憶體的低

/高位址端

的概念。

這兩個概念中的高低順序在任何時候都是固定的(即左高右低,**於

2的低次冪和高次冪)

如int型別的長度為

4個位元組:

此時再來理解這兩個概念:

小端法:即從最低有效位元組到最高有效位元組逐字節

開始在記憶體低端位址向記憶體高階位址方向開始儲存。

大端法:即從最高有效位元組到最低有效位元組逐字節

開始在記憶體低端位址向記憶體高階位址方向開始儲存。

如:乙個型別為

int的

16進製制變數

x=0x01234567

(其二進位制表示為

0000 0001 0010 0011 0100 0101 0110 0110)

其在記憶體中的儲存方式依照以上兩種位元組序型別即為

(假設在記憶體中儲存起始位址為

0x100,每個位址增量為

1):大端法:

小端法:

上圖效果同下圖:

大端法:

兩種型別的員工

假如你是村莊的工人,負責為村落供水,那你對村民來說很有價值。這裡有兩種型別的工人 型別1 抓起一兩個空桶,接著去甘泉湖打滿水,返回村莊,20號人因此歡喜。在回來的路上,工人必須喝一部分水,並且一旦返回,他得帶點水回家。型別2 工人沒有考慮自身能得到多少水。他也沒有拿桶去打水,相反,他拿了一把鐵鍬和乙...

兩種型別的probe request

現象 如果某ap的ssid是隱藏的,那麼通常手機傳送的普通的probe request包是無法獲取到隱藏的ssid,必須在probe request包中指定ssid才可以掃瞄到隱藏的ssid。根據ssid的長度劃分,probe request幀應該可以分為兩類 1 ssid長度為0,probe不包含...

位元組序的理解

編者 李國帥 由於不同的cpu或者作業系統的主機序不一樣,導致在讀寫檔案或者檔案傳送的時候,使用的規則不一樣。多位元組資料型別在不同的cpu上可能讀寫方式不同。同時不同編譯器對bitfield的處理方式也可能不一樣。所以資料結構中的int型和short型變數需要在網路的兩頭先變成相同的格式傳送,接收...