大小端

大端(Big-endian)和小端(Little-endian)是一个很重要的概念。假如现有一32位int型数0x12345678,那么其MSB(Most Significant Byte,最高有效字节)为0x12,其LSB (Least Significant Byte,最低有效字节)为0x78,在CPU内存中有两种存放方式:(假设从地址0x4000开始存放)

大端是数的高字节存放到低内存

小端是数的低字节存放到低内存

#include 

using namespace std;


int checkEndian()
{
	int i=0x12345678;
	
	char *c=(char *)&i;
	 
	if(*c==0x12)
		cout<<"big endian";
	else
		cout<<"little endian";
		
	return 0;
}

int main()
{
	checkEndian();
	return 0;
}

参考: http://www.cnblogs.com/berry/articles/1588084.html

你可能感兴趣的:(计算机系统)