大端存储和小端存储

参考:https://blog.csdn.net/u010889616/article/details/47157637
大端存储:数据的低字节存储在地址空间的高字节位,数据的高字节存储在地址空间的低字节位。
小端存储:数据的低字节存储在地址空间的低字节位,数据的高字节存储在地址空间的高字节位。

为什么要有大小端存储:
大端存储因为低地址先获取到的是数据的高地址,也就是符号位,从而很容易知道一个数是正数还是负数。而小端存储,则相反,更适合做数值的四则运算,最后再刷新符号位。因为存在着进位,如果从高位开始,算到后面发现有进位,就要回退到高位处理进位,而小端存储这样做可以先判断是否有进位,而不用返回去再进行计算。


image.png
void judgeSystemEndian()
{
    int a = 0x1234;
    char b = static_cast(a);
    if (b == 0x12)
    {
        cout << "本计算机是___"大端"___存储模式." << endl;
    }
    else if (b == 0x34)
    {
        cout << "本计算机是___"小端"___存储模式." << endl;
    }
``

你可能感兴趣的:(大端存储和小端存储)