概念:大端模式就是高字节存储在低地址处,低字节存储在高地址处
小端模式就是高字节存储在高地址处,低字节存储在低地址处
举例说明:
int aa=0x30313233;这是一个十六进制的整数
高字节->低字节,在本例中是30 31 32 33 ,这个是人的习惯,读数都是从左往右的
高地址->低地址,未知,要直到就不用计算了
具体分析:结果无非两种情况,具体表现如下
我们只要证实其中一种就可以。
具体代码:
int test1()
{
int x = 0x30313233
char* c = (char*)&x;//转换步长,方便下面获取每个地址的值用于后面对比,取两位是因为0xff两位表示一个十六进制数
if (c[0] == 0x30 && c[1] == 0x31 && c[2]== 0x32 && c[3] == 0x33 )
return 1;
else
return 0;
}
int main()
{
if(test1()==1)
{
std::cout<<"小端模式"<<std::endl;
}
else
{
std::cout<<"大端模式"<<std::endl;
}
return 0;
}