大小端介绍
1、小端存储
将一个数据的低字节序内容存储到低地址处,将高字节序的内容存储到高地址处。
2、大端存储
将一个数据的低字节序的内容存储到高地址处,高字节序的内容存储到低地址处。
检测方法:
方法一:
取出一个整型数的地址,并拿出第一个字节判断是高字节序还是低字节序。
方法二:
利用共用体成员共用一块空间,取出第一个字节的地址,进行判断
#include<iostream>
int che_sys1()
{
int i = 1;
char*p= (char*)&i;//&i取出整型i的地址,并取出整型的第一个字节
return *p;
}
int che_sys2()
{
union un{
int i;
char c;
}u;
u.i = 1;
return u.c;
}
int main()
{
int ret = -1;
ret = che_sys1();
if (ret == 1)
std::cout << "小端存储" << std::endl;
else
std::cout << "大端存储" << std::endl;
ret = -1;
ret = che_sys2();
if (ret == 1)
std::cout << "小端存储" << std::endl;
else
std::cout << "大端存储" << std::endl;
system("pause");
return 0;
}