大小端定義
小端(little_endian): 低位位元組存放在記憶體的低端位址,高位位元組存放在記憶體的高階位址;
大端(big_endian): 高位位元組存放在記憶體的低端位址,低位位元組存放在記憶體的高階位址。
源**
原始碼檔案: endian.c
編 譯: gcc -o endian endian.c
執 行: ./endian
#include
// 採用聯合體方法
// 大端返回1, 小端返回0
static
intendian()
e; e.a =
0x01234567
;printf
("address a: %p\n"
,&e.a)
;printf
("* value a: %02x\n"
, e.a)
;printf
("address s: %p\t%p\t%p\t%p\n"
,&e.s[0]
,&e.s[1]
,&e.s[2]
,&e.s[3]
);printf
("* value s: %02x\t%02x\t%02x\t%02x\n"
, e.s[0]
, e.s[1]
, e.s[2]
, e.s[3]
);if(e.s[0]
==0x67
)else
if(e.s[0]
==0x01
)else
}// 測試
intmain
(int argc,
char
**ar**)
判斷系統大小端模式
端模式 endian 的這個詞出自jonathan swift書寫的 格列佛遊記 這本書根據將雞蛋敲開的方法不同將所有的人分為兩類,從圓頭開始將雞蛋敲開的人被歸為big endian,從尖頭開始將雞蛋敲開的人被歸為littile endian。小人國的內戰就源於吃雞蛋時是究竟從大頭 big endi...
如何判斷系統大小端序
使用聯合體來判斷大小端序。聯合體有個特點剛好可以被利用,聯合體的成員共用乙個空間。大端序 大端模式 是指資料的低位儲存在記憶體的高位址中,而資料的高位儲存在記憶體的低位址中。小端序 小端模式 是指資料的低位儲存在記憶體的低位址中,而資料的高位儲存在記憶體的高位址中。include stdio.h i...
判斷大小端
int i 1 char p char i if p 1 printf 1 else printf 2 大小端儲存問題,如果小端方式中 i佔至少兩個位元組的長度 則i所分配的記憶體最小位址那個位元組中就存著1,其他位元組是0.大端的話則1在i的最高位址位元組處存放,char是乙個位元組,所以強制將c...