不同的系统,对于存储的内容的高字节,可能分别放在物理地址的高地址或低地址。
我们可以简单地将内存看成是线性的连续地址。
对于高字节存放在低地址的字节序,称为大端字节序。网络字节序就是大端字节序。
反之,高字节存放在低地址的字节序,称为小端字节序。
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)
原文地址:https://www.cnblogs.com/jobshunter/p/10976516.html
时间: 2024-10-24 04:09:43