測試乙個機器大小端

2021-06-25 10:38:09 字數 542 閱讀 9458

// bigsmallendian.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include using namespace std;

/* * 一般機器中 long 為 4 byte (32 bit),所以可以測試某 long 型別的位址和資料分配情況。

* 比如 0x12345678,0x78 是低位元組資料,0x12 是高位元組資料,若 0x78 存在於低位址處,則當

* 前機器為小端,否則,當前機器為大端。

* (char*)&digit 將digit的位址強制轉化為char型的位址然後用*取到乙個位元組的資料 得到低位址的乙個位元組的資料

*    返回值:0:小端,1:大端

*/int isbigendian(void)

else if (*(char*)&digit == 0x12) }

int _tmain(int argc, _tchar* argv)

機器大小端

這是因為在計算機系統中我們是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為8bit。但在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型 要看具體的編譯器 另外,對於位數大於8位的處理器,例如16位或者32位處理器,由於暫存器寬度大於乙個位元組...

如何測試機器的大小端

一 大小端 1 為啥會有大小端 在計算機系統中以位元組為單位,每個位址單位都有乙個位元組 乙個位元組8個bit位 在c語言中,有char 8bit short 16bit long 32bit,具體看編譯器 對於位數大於8的處理器,不如16位或者32位的處理器,由於暫存器寬度大於乙個位元組,那麼必然...

判斷乙個CPU大小端模式

請寫乙個c函式,若處理器是big endian的,則返回0 若是little endian的,則返回1 解答 int checkcpu c c.a 1 return c.b 1 剖析 嵌入式系統開發者應該對little endian和big endian模式非常了解。採用little endian模...