大端與小端以及如何判斷大小端

2021-09-28 17:39:20 字數 626 閱讀 8609

大端:將表示乙個物件的位元組在記憶體中按照從最高有效位元組到最低有效位元組的順序儲存,即最高有效位元組在記憶體位址最前面的方式,稱為大端法

舉個例子,十六進製制的數0x01234567

位址    位元組

0x100   01

0x101   23

0x102   45

0x103   67

在0x1234567中,0x67是最低有效位,0x01是最高有效位,而0x01位於0x100,在0x100-0x103位址的最前面,所以是大端方式

位址    位元組

0x100   67

0x101   45

0x102   23

0x103   01

與大端法正好反過來

在程式判斷大小端:

#include #include int main()

else if (((char *)&x)[0] == 0x01)

}

((char *)&x)[0] 將int型轉為char型陣列,那麼陣列的第乙個位元組就是位址最低的位元組,如果該位元組為0x67,即0x01234567的最低有效位在最前面,表示小端;如果該位元組為0x01,即0x01234567的最高有效位在最前面,表示大端

判斷大端小端

大端模式 big endian 和小端模式 little endian 在我們傳送資料的時候,我們首先要確定是大端還是小端模式來進行的,在接收方接收的資料必須知道資料是大端還是小端模式,才能正確地讀取和儲存資料起來,否則就會出錯。有些時候cpu公司用大端 c51微控制器 有些cpu用小端 arm 我...

大端小端判斷

聯合體是共享記憶體,在聯合體重定義乙個char型別,乙個int型別,給int資料賦值為1,根據char的值是否為1就可以判斷大小端了 若char型別為1,則為小端 若char型別不為1,則為大端 判斷大小端 static bool islocalhostbigendian void num num....

大端小端區別與判斷

所謂的大端模式,是指資料的低位儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中 所謂的小端模式,是指資料的低位儲存在記憶體的低位址中,而資料的高位儲存在記憶體的高位址中。為什麼會有大小端模式之分呢?這是因為在計算機系統中,我們是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組...