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