判斷CPU儲存位元組大小端的兩個程式

2021-06-06 08:35:36 字數 419 閱讀 8248

下面主要敘述兩種不同的辨別cpu位元組序的函式,由於程式比較簡單,不再新增注釋了。

#include bool islittleendian1(void)

else }

bool islittleendian2(void)

a; a.i = 1;

if (a.j==1)

else }

int main(void)

else

if (islittleendian2() == true)

else

return 0;

}

第一種方法是通過將int強制型別轉換成char來判斷位元組序,第二種方法是通過建立乙個儲存有int型和char型的4位元組共同體來判斷,本質上是一樣的,只是實現手法不同而已。

判斷CPU大小端儲存

首先明白big endian和little endian的位元組排序含義 big endian 乙個word中的高位的byte放在記憶體中這個word區域的低位址處。little endian 乙個word中的低位的byte放在記憶體中這個word區域的低位址處。例如 如果我們將0x1234abcd...

判斷CPU的大小端

原文出處 下面的兩個程式均可判斷cpu的大小端問題 int i 1 char p char i if p 1 printf little endian little endian else printf big endian big endian 大小端儲存問題,如果小端方式中 i佔四個位元組的長度...

CPU大小端位元組序的檢測

機器的位元組序有兩種,即大端位元組序和小端位元組序。大端位元組序 在記憶體中,低位址存放資料的 高位,高位址存放資料的 低位 小端位元組序 在記憶體中,低位址存放資料的 低位,高位址存放資料的 高位 如例 定義資料 a 0x01020304 小端方式 01 02 03 04 大端方式 04 03 0...