C++判断计算式是大端存储模式,还是小端存储模式

小端存储:数据的低字节存储在地址空间的低字节位,数据的高字节存储在地址空间的高字节位。

大端存储:数据的低字节存储在地址空间的高字节位,数据的高字节存储在地址空间的低字节位。

判断计算机是小端还是大端的核心点:

1、取出int类型低字节存于char,对比取出的低位存放的数据跟整个int类型数据的值。

2、跟据联合体特点,所有成员共享内存空间。

特别的:网络字节序是大端模式。

//try 一 try

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

    union U
    {
        int a;
        char b;
    }u;
    u.a = 1;
    if (u.b == 0)
    {
        cout << "本计算机是___《大端》___存储模式." << endl;
    }
    else if (u.b == 1)
    {
        cout << "本计算机是___《小端》___存储模式." << endl;
    }
}

//我的电脑是小端模式

 如何将大端存储转为小端存储,如何将小端存储转位大端存储:https://www.cnblogs.com/azbane/p/11303592.html

原文地址:https://www.cnblogs.com/azbane/p/11303463.html