大端和小端儲存

2021-06-08 00:11:20 字數 763 閱讀 5957

所謂小端儲存就是說資料是從記憶體的低位址開始儲存的!比如:定義乙個

int w=0xff

那麼這個值表示成32位的就是0x 00 00 00 ff:要是按照小端儲存的話則就是說是這樣的:

記憶體位址    資料

0x0012ff60  ff  .

0x0012ff61  00  .

0x0012ff62  00  .

0x0012ff63  00  .

要是大端的話則儲存就是這樣得了:

0x0012ff60  00  .

0x0012ff61  00  .

0x0012ff62  00  .

0x0012ff63  ff  .

所以要是你要判斷你當前的機器是否是大端還是小端可以這樣做:

#define is_big_endian(test_int) ((*((char *)&test_int))==0) //判斷是否是大端還是小端,=1是大端;=0是小端:

&test_int                 //w在記憶體中的起始位址

0x0012ff60 

(char *)&test_int         //將位址強制轉換成char*

0x0012ff60 

*((char *)&test_int)      //該位址

0x0012ff60 上的值

(*((char *)&test_int))    //該位址

0x0012ff60 上的值

最後:一般pc都是小端儲存。

大端儲存和小端儲存

簡述 計算機系統中,我們是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為 8bit。但是在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型另外,對於位數大於 8位的處理器,例如16位或者32位的處理器,由於暫存器寬度大於乙個位元組,那麼必然存在...

大端和小端儲存區別

計算機中,我們知道是以位元組為單位的,乙個位元組8位,每個位址對應乙個位元組,但是對於大於乙個位元組的資料型別,比如short 2 byte int 4 byte 另外對於 16位,32位的處理器,由於乙個暫存器的寬度大於8,必然存在如何將多個位元組安排問題,因此就有了大端 big endian 和...

大端儲存和小端儲存 計算機儲存的大端法和小端法

01引言 在計算機記憶體中,通常是以位元組 byte 也就是 8 個位 bit 為基本儲存單元 也有以 16 位為基本儲存單元的 對於跨越多個位元組的資料型別 比如 int 長 4 個位元組 如何在記憶體中對這些位元組進行排序有兩種常見的方法 大端法 big endian 和小端法 little e...