【C语言入门】数据在内存中的存储方式——大端存储、小端存储(设计一个程序来判断当前机器的字节序)
int a = 0x11223344;
大端字节序存储: 把一个数的低位字节序的内容放在高地址处,把高位字节序内容放在低地址处。
小端字节序存储:
把一个数的低位字节序的内容放在低地址处,把高位字节序内容放在高地址处。
int main()
{
int a = 1;
if (*(char*)&a == 1)
cout << "当前机器为:小端字节序存储" << endl;
else
cout << "当前机器为:大端字节序存储" << endl;
return 0;
}
错误代码:
如果直接强制类型转换的话,无论是大端字节序存储还是小端字节序存储,系统都会取低8个字节的内容,所以如果int a = 1,p都会得到1。
char p = (char) a; //错误代码