参考:https://blog.csdn.net/u010889616/article/details/47157637
大端存储:数据的低字节存储在地址空间的高字节位,数据的高字节存储在地址空间的低字节位。
小端存储:数据的低字节存储在地址空间的低字节位,数据的高字节存储在地址空间的高字节位。
为什么要有大小端存储:
大端存储因为低地址先获取到的是数据的高地址,也就是符号位,从而很容易知道一个数是正数还是负数。而小端存储,则相反,更适合做数值的四则运算,最后再刷新符号位。因为存在着进位,如果从高位开始,算到后面发现有进位,就要回退到高位处理进位,而小端存储这样做可以先判断是否有进位,而不用返回去再进行计算。
image.png
void judgeSystemEndian()
{
int a = 0x1234;
char b = static_cast<char>(a);
if (b == 0x12)
{
cout << "本计算机是___"大端"___存储模式." << endl;
}
else if (b == 0x34)
{
cout << "本计算机是___"小端"___存储模式." << endl;
}
``
网友评论