關於大端位元組序和小端位元組序

2021-07-09 16:40:16 字數 705 閱讀 6242

現在,大多數的計算機都是按位元組編址的(除了按位元組編址還有按字編址和按位編址)。所以這裡只討論按位元組編址的計算機。

計算機中的記憶體可以看成是線性的(這裡只討論按位元組編址), 如下圖:

從上圖可以看出,乙個int型是16位也就是兩個位元組的長度,一共可以表示2^16byte(也就是64kb)的記憶體。

現在我們來看看乙個int型分別在大端和小端是怎麼儲存的。

舉個例子:

我們現在有乙個整數是258。用16進製表示是0x0102, 然後我們把這個整數拆分成兩個位元組,第乙個位元組為0x01, 第二個位元組為0x02.

對應的二進位制分別是:0000 0001    和   0000 0010。

如果在乙個使用大端位元組序的電腦上,這個整數會被這樣存放:

這跟我們平時上課教的使用的位元組序是一樣的。都是高位在低位址。

仔細看低位址的內容程式設計了int型的低位元組部分,也就是0000 0010。

以上就是大端和小端計算機在儲存資料方面的區別。

大端位元組序和小端位元組序

簡單介紹 位元組序是由cpu和os對多位元組變數的記憶體儲存順序不同而產生的 小端位元組序 在表示變數的記憶體位址的起始位址存放低位元組,高位元組順序存放 大端位元組序 在表示變數的記憶體位址的起始位址存放高位元組,低位元組順序存放,例如 變數的值0xabcd uint32 t htonl 主機位元...

大端位元組序和小端位元組序

title 大端位元組序和小端位元組序 格列佛遊記 中記載了兩個征戰的強國,你不會想到的是,他們打仗竟然和剝雞蛋的姿勢有關。很多人認為,剝雞蛋時應該打破雞蛋較大的一端,這群人被稱作 大端 big endian 派 可是當今皇帝的祖父小時候吃雞蛋的時候碰巧將乙個手指弄破了。所以,他的父親 當時的皇帝 ...

大端位元組序和小端位元組序

計算機硬體有兩種儲存資料的方式 大端位元組序 big endian 和小端位元組序 little endian 舉例來說,數值0x2211使用兩個位元組 一位元組是8bit 儲存 高位位元組是0x22,低位位元組是0x11。大端位元組序 低位位元組在高位址,高位位元組低位址上。這是人類讀寫數值的方法...