大端位址與小端位址的區分

2021-08-03 22:10:22 字數 614 閱讀 3092

大端和小端是乙個比較麻煩的東西,因為這兩個東西比較容易弄混,乙個是資料尾端存在高位址處,乙個是資料尾端存在低位址處。

看了一篇的文章(發現用裘宗燕翻譯的《程式設計實踐》裡的語句來解釋比較有助於記憶和區分大端和小端,

那本書裡是

把大端叫做高尾端,

把小端叫做低尾端,

這表示大端是把字串的尾端資料存在記憶體高位址處;

小端是把字串的尾端資料存在記憶體的低位址處。

如圖所示,雖然計算機儲存和讀取記憶體資料時都是從低位址開始的,但字串「11223344」在不同模式下儲存的形式是不同的。

下文附了乙個用於測試系統大小端的程式:

#include 

#include

int main()

un;un.s = 0x0102;

if(2==sizeof(short))

else

printf("sizeof(short)=$d\n",sizeof(short));

return 0;

記憶體位址 大端小端問題

乙個記憶體位址可儲存 8 bit 1 byte 位元組 32位作業系統可定址空間為 2 32 byte 2 10 2 10 2 10 4 4 gb c宣告位元組數 位元組數有符號 32位64位 char11 short22 int4 4long48 char 48 float44 double88 ...

大端與小端

網際網路使用網路位元組順序採用大端模式進行編址,大端儲存也稱為網路位元組序,因為tcp ip包在網路中傳輸時都要求以這種次序,以其他形式儲存資料的機器 主機位元組順序根據處理器的不同而不同,如powerpc處理器,使用大端模式,而pentuim處理器使用小端模式 則必須在傳送資料之前把首部轉換成網路...

大端與小端

端模式 endian 的這個詞出自 jonathan swift 書寫的 格列佛遊記 這本書根據將雞蛋敲開的方法不同將所有的人分為兩類,從圓頭開始將雞蛋敲開的人被歸為 big endian 從尖頭開始將雞蛋敲開的人被歸為 littile endian 小人國的內戰就源於吃雞蛋時是究竟從大頭 big ...