#include<iostream>
using namespace std;
int check()
{
int i = 0x11223344;
char* b = (char*) & i;
return *b;
}
int main()
{
int ret = check();
if (ret == 0x44)
{
printf("是小端");
}
else
{
printf("是大端");
}
我在这个i已经附上初值那么他有以下两种保存方式(一个小方块是一个字节)
我想要知道他怎样保存,我可以只取一个字节看看是0x44还是0x11来确定大小端,那么变用到了强制类型转换(char*),然后返回b的值。
本文通过C++代码示例,探讨了如何通过查看单个字节来判断计算机内存中的整数是按小端(LittleEndian)还是大端(BigEndian)存储。作者利用强制类型转换将整数地址转换为char*,并检查其低字节是否为0x44来确定endianness。





