判斷CPU大小端儲存

2021-06-17 16:19:31 字數 442 閱讀 2284

首先明白big-endian和little-endian的位元組排序含義:

big-endian:乙個word中的高位的byte放在記憶體中這個word區域的低位址處。  

little-endian:乙個word中的低位的byte放在記憶體中這個word區域的低位址處。 

例如:如果我們將0x1234abcd寫入到以0x0000開始的記憶體中,則結果為:

記憶體位址  big-endian   little-endian

0x0000   0x12                0xcd

0x0001   0x34                0xab

0x0002   0xab                0x34

0x0003   0xcd                0x12

下面**則用於判斷本機cpu大小端儲存:

CPU大小端判斷

big endian 認為第乙個位元組是最高位位元組 按照從低位址到高位址的順序存放資料的高位位元組到低位位元組 大端 而little endian 則相反,它認為第乙個位元組是最低位位元組 按照從低位址到高位址的順序存放資料的低位位元組到高位位元組 小端 用 c程式設計實現判斷,如下 測試你的機器...

判斷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在不同的作業系統使用的大小端情況是不同的。當然我們...