C語言判斷大小端模式

2021-06-13 09:09:31 字數 711 閱讀 7129

1.大端模式,是指資料的低位儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中;小端模式相反

2.為什麼有大小端之分???

因為在計算機系統中,儲存是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組=8bit。在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型(要看具體的編譯器)。對於位數大於8位的處理器,例如16位或者32位的處理器,由於暫存器寬度大於乙個位元組,如何安排多個位元組的儲存,這就有了大端儲存模式和小端儲存模式

3.各自的優勢:

小端模式:強制轉換資料不需要調整位元組內容,1、2、4位元組的儲存方式一樣。

大端模式:符號位的判定固定為第乙個位元組,容易判斷正負。

4.常用的x86結構是小端模式,而keil c51則為大端模式。很多的arm,dsp都為小端模式.

5.c語言判斷大小端模式

方法一:

void isbigendian()

else

}

方法二:

temp;

temp.a = 0x1234;

if( temp.b == 0x12 )//低位元組存的是資料的高位元組資料

else }

在我的機子上驗證了一下是小端模式

C語言判斷大小端

思路 明確大小端 如圖示 程式思路 1 思考資料的儲存方式以及位址排列,int型 在32 位作業系統下 占有 4位元組,char 型 占有1字元,因此可以利用char 型指標判斷 int 型位址與資料 2 如 若有整形 int b 0x 77 ff 10 01,則我們知 0x 01 0x 10,0x...

《C語言深度剖析》 大小端模式判斷

大小端模式介紹 例如 int a 1 a 的值為1,其中變數a佔4個位元組.用16進製表示為0x00000001 四個位元組 16進製制,2位表示乙個位元組 如果是小端模式則記憶體儲存方式如下 低位址0100 0000 高位址如果是大端模式則記憶體儲存方式如下 低位址00 0000 01 高位址 總...

判斷大小端模式

學c語言時,了解過大小端模式,但是一直都每怎麼理解,對於網上查到的各種判斷大小端的程式也是看的一知半解。最近再次看到大小端這個問題時,終於感覺頓悟了。以下是我的理解,如有錯的地方請指出。大端模式,是指資料的高位元組儲存在記憶體的低位址中,而資料的低位元組儲存在記憶體的高位址中。小端模式,是指資料的高...