Linux系統大小端判斷

2021-10-05 04:31:21 字數 960 閱讀 8880

大小端定義

小端(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...