Endian 大端小端分析

2021-06-16 00:23:17 字數 570 閱讀 8015

·endian的意思是"資料在記憶體中的位元組排列順序",表示乙個字在記憶體中或傳送過程中的位元組順序.在微處理器中,

像long/dword(32bit)0x12345678這樣的資料總是按照高位優先(big endian)方式存放的.

但在記憶體中,資料存放順序則因微處理器廠商的不同而不同.一種順序稱為big-endian,即把最高位位元組放在最前面;

另一種順序就稱為little-endian,即把最低位位元組放在最前面.

·big endian :最低位存放高位位元組,可稱為高位優先.記憶體從最低位址開始,按順序存放.

big endian存放方式正是我們的書寫方式,高數字數字先寫(比如,總是按照千,百,十,個位來書寫數字).

而且所有的處理器都是按照這個順序存放資料的.

·little endian : 最低位址存放低位位元組,可稱為低位優先.記憶體從最低位址開始,順序存放.

little endian 處理器是通過硬體將記憶體中的little endian 排列順序轉換到暫存器的big endian排列順序的,

沒有資料載入/儲存的開銷,不用擔心. 

//具體原始碼解析,請看記憶體分布篇

大端與小端

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

大端與小端

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

大端與小端

大端表示跟小端表示這兩者的具體意義我老是記不住,當然不是說它的意思不懂,而只是容易搞混。現在記一下,以後就比較有印象了。在c 中,定義乙個int值的時候,它所占用的記憶體是4個位元組,然而這4個位元組裡面,我們如果得到這個int值的記憶體位址,其實就是它的最低位置的位址,如 int a 假設 a的記...