目录
1.什么是大小端?
大端模式:字数据的高字节存储载低地址中,而字数据的低字节则存放载高地址中。
小端模式:字数据的高字节存储载高地址中,而字数据的低字节则存放载低地址中。
说到这里,可能还是不是很了解,下面给个详细的例子?
假如有变量 unsigned value = 0x12345678
则大端的存储方式为:
小端的存储方式为:
再简明一点,假设将变量的存储空间看成一个数组:则大端是从前往后,而小端则相反。
2.如何判断大小端?
在c/c++有一种结构叫做联合体(union),里面的变量公用一段内存空间,我们可以设置不同长度的变量来判断当前系统的大小端。
bool isBig()
{
struct tool
{
int i;
char ch;
}x = {1};
return x.ch == 1;
}
如果当前的系统为大端模式,isBig()会返回true。