大端字节序和小端字节序

Posted jobshunter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大端字节序和小端字节序相关的知识,希望对你有一定的参考价值。

不同的系统,对于存储的内容的高字节,可能分别放在物理地址的高地址或低地址。

我们可以简单地将内存看成是线性的连续地址。

对于高字节存放在低地址的字节序,称为大端字节序。网络字节序就是大端字节序。

反之,高字节存放在低地址的字节序,称为小端字节序。

 

bool isLittleEndian()

    int i = 1;
    char *a = (char*)&i;
    return *a;// 若true 小端字节序;反之 大端字节序

 

例子:

#include <iostream>
using namespace std;


union Test

    int a;
    short b;
;

int main()

    Test test;
    test.a = 0x01020304;
    
    cout << test.b << endl;
    return 0;


// 对于小端字节序  输出772(0x0304)
// 对于大端字节序  输出258(0x0102)

 

以上是关于大端字节序和小端字节序的主要内容,如果未能解决你的问题,请参考以下文章

大端字节序和小端字节序

大端字节序和小端字节序

大端字节序和小端字节序

大端字节序和小端字节序

字节序大端、小端

大端字节顺序和小端字节顺序有啥区别