大端模式:(big-endian)
是指資料的高位元組儲存在記憶體的低位址中,而資料的低位元組儲存類似把資料當初
字串處理,例如字串指標指向的時字串的首位址,這與棧的生長方向無關。
小端模式:(little-endian)
指資料的高位元組儲存在記憶體的高位址中,這種儲存模式將位址的高低和資料位權
(位權表示數制中每一固定位置對應的單位值,如10進製中,第一位的位權為1,
第二位的位權為10.)有效的結合起來,位權高的對應高位址.
下面我們看看如何確定我們的編譯器是大端還是小端模式。
#includeusing namespace std;
union pr;
int main()
為什麼會有大小端之分,主要在於在計算機系統中,我們是以自己為單位的,乙個自己對應
8bit,但是除了8bit外,還有32bit,那麼必然導致乙個問題,如何去安排多個位元組,因此
就導致了大小端問題。
在計算機系統中,我們不但需要1個位元組的資料型別,可能還需要4個位元組的資料型別
那麼就必然導致乙個問題,多個位元組的資料型別如何在記憶體中儲存。
小端模式則是高位權對應高位址。而如何判斷我們的編譯器是大端模式還是小端模式,那麼
我們應該應該想到我們需要一塊多位元組的記憶體,並且我們利用了union這種資料結構,因為這種資料
結構是共享記憶體位址的,我們就可以利用char 和int就可以輕易的判斷出我們的環境是小端還是大端。
大小端模式
偶 注意 大小端的高低位資料是按位址來計算的。如0x1001,10是高位位元組,01是低位位元組。char s abcd a是高位位元組 所謂的大端模式,是指資料的低位 就是權值較小的後面那幾位 儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中,這樣的儲存模式有點兒類似於把資料當作字串順...
大小端模式
所謂的大端模式,是指資料的低位 就是權值較小的後面那幾位 儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理 位址由小向大增加,而資料從高位往低位放 所謂的小端模式,是指資料的低位儲存在記憶體的低位址中,而數 據的高位儲存在記憶體的高位址中...
大小端模式
端模式 endian 的這個詞出自jonathanswift書寫的 格列佛遊記 這本書根據將雞蛋敲開的方法不同將所有的人分為兩類,從圓頭開始將雞蛋敲開的人被歸為bigendian,從尖頭開始將雞蛋敲開的人被歸為littileendian。小人國的內戰就源於吃雞蛋時是究竟從大頭 big endian ...