【C语言入门】数据在内存中的存储方式——大端存储、小端存储(设计一个程序来判断当前机器的字节序)

  

int a = 0x11223344;

大端字节序存储: 把一个数的低位字节序的内容放在高地址处,把高位字节序内容放在低地址处。
【C语言入门】数据在内存中的存储方式——大端存储、小端存储(设计一个程序来判断当前机器的字节序) - 文章图片

小端字节序存储:
把一个数的低位字节序的内容放在低地址处,把高位字节序内容放在高地址处。【C语言入门】数据在内存中的存储方式——大端存储、小端存储(设计一个程序来判断当前机器的字节序) - 文章图片

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; //错误代码
相关文章