CPU大小端判斷

2021-06-28 09:45:19 字數 716 閱讀 1646

big endian 認為第乙個位元組是最高位位元組(

按照從低位址到高位址的順序存放資料的高位位元組到低位位元組——大端);

而little endian 則相反,它認為第乙個位元組是最低位位元組(

按照從低位址到高位址的順序存放資料的低位位元組到高位位元組——小端)。 用

c程式設計實現判斷,**如下:

/* 測試你的機器使用的大端模式,還是小端模式 */

/* 若x0=0x11,則是大端; 若x0=0x22,則是小端 */

#include

int main()

#include

int main()

若x1=0x11,則是大端; 若x1=0x22,則是小端......

共用體表示幾個變數共用乙個記憶體位置,在不同的時間儲存不同的資料型別和不同長度的變數。在union中,所有的共用體成員共用乙個空間,並且同一時間只能儲存其中乙個成員變數的值。

union 型資料所佔的空間等於其最大的成員所佔的空間。對union 型的成員的訪問都是

相對於該聯合體基位址的偏移量為0 處開始,也就是聯合體的訪問不論對哪個變數的訪問都

是從union 的首位址位置開始。

#include

union test  

;  int main()  

else  

return 0;  } 

判斷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佔四個位元組的長度...

C實現CPU大小端判斷

所謂大端就是指高位值在記憶體中放低位位址,所謂小端是指低位值在記憶體中放低位位址。比如 0x12345678 在大端機上是 12345678,在小端機上是 78564312,而乙個主機是大端還是小端要看cpu型別以及執行在上面的作業系統。同一款cpu在不同的作業系統使用的大小端情況是不同的。當然我們...