大端儲存和小端儲存

2021-08-01 19:54:33 字數 674 閱讀 1853

簡述

計算機系統中,我們是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為 8bit。但是在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型另外,對於位數大於 8位的處理器,例如16位或者32位的處理器,由於暫存器寬度大於乙個位元組,那麼必然存在著乙個如何將多個位元組安排的問題。因此就導致了大端儲存模式和小端儲存模式。 正文

那麼大小端儲存的具體有什麼不同呢?簡單來講

小端模式, 起始位址存放低位位元組(低位先存)  

大端儲存,

起始位址存放高位位元組(高位先存)

例如(0x11223344)  如圖所示:

如何判斷一台機器是大端儲存還是小端儲存呢?定義個16進製制的數 0x11223344,使用乙個char* 指標 指向它,因為char型別是1個位元組,int型別是4個位元組,所以從低位址到高位址迴圈列印4次,列印出每個位元組儲存的資料,如果列印出44 33 22 11說明是小端儲存,如果列印出11 22 33 44說明是大端儲存。不說了直接上**。

#include int main(int argc, char *argv)

return 0;

}

大端和小端儲存

所謂小端儲存就是說資料是從記憶體的低位址開始儲存的!比如 定義乙個 int w 0xff 那麼這個值表示成32位的就是0x 00 00 00 ff 要是按照小端儲存的話則就是說是這樣的 記憶體位址 資料 0x0012ff60 ff 0x0012ff61 00 0x0012ff62 00 0x0012...

大端和小端儲存區別

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

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

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