码迷,mamicode.com
首页 > 其他好文 > 详细

大端字节序和小端字节序

时间:2019-06-04 22:25:13      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:cout   code   pre   isl   turn   end   short   str   span   

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

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

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

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

 

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)

 

大端字节序和小端字节序

标签:cout   code   pre   isl   turn   end   short   str   span   

原文地址:https://www.cnblogs.com/jobshunter/p/10976516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!