首先,什麼是大端模式,什麼又是小端模式呢?
大端模式,是指資料的高位元組儲存在記憶體的低位址中,而資料的低位元組儲存在記憶體的高位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理:位址由小向大增加,而資料從高位往低位放;這和我們的閱讀習慣一致。
小端模式,是指資料的高位元組儲存在記憶體的高位址中,而資料的低位元組儲存在記憶體的低位址中,這種儲存模式將位址的高低和資料位權有效地結合起來,高位址部分權值高,低位址部分權值低。
其次,我們要如何測試?
假定有乙個int型資料為1,它在記憶體中是這樣的:00 00 00 01.記憶體由低位址向高位址增長,那麼,如果是小端位元組序它是這樣的:01 00 00 00.如果是大端位元組序就是這樣的:00 00 00 01.於是我們考慮讓int發生截斷,只保留低位址的兩個位元組,如果為1,那當然就是小端模式,如果為0,就是大端模式。
**如下:
#includeint check_sys()
else
return 0; //大端
}int main()
還有一種方法,思路是一樣的,不過改為用共用體來實現,利用共用體的所有變數公用同一塊空間的特性,**如下:
#includeint check_sys()
u; u.i = 1;
if (u.k == 1) //小端
return 1;
if (u.k == 0) //大端
return 0;
}int main()
C語言程式判斷計算機的CPU大小端
如何判斷一台計算機的cpu是大端還是小字端對齊呢?那麼首先得了解何為大端,何為小端,明確一下概念。所謂大端模式,是指字資料的高位元組儲存在低位址中,而字資料的低位元組則存放在高位址中。big endian 和 little endian 位元組排序 位元組排序 含義 big endian 乙個wor...
C語言 計算機猜數字
include include include intmain else if a while a number printf 太好了,你用了 d次就猜到了答案 n count 程式說明 這裡的srand函式和time函式如下 srand函式 srand函式是隨機數發生器的初始化函式,原型 void...
用C語言實現大小端判斷
大端小端的概念 端模式 endian 的這個詞出自jonathan swift書寫的 格列佛遊記 這本書根據將雞蛋敲開的方法不同將所有的人分為兩類,從圓頭開始將雞蛋敲開的人被歸為big endian,從尖頭開始將雞蛋敲開的人被歸為littile endian。小人國的內戰就源於吃雞蛋時是究竟從大頭 ...