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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM