字节序之大小端 xhcoding 2025-11-27约 282 字 - 预计阅读 1 分钟计算机科学内存以字节为单位保存信息,每个字节都有一个编号,这个编号就是内存地址。一个 int a = 0x12345678 变量占用 4 个字节,而变量的地址为变量 a 在内存中的最低地址,比如 &a 为 0x100 时,说明 a 在内存中的位置为 0x100 0x101 0x102 0x103 。如果系统为小端序,则将 a 的低位放到低地址,高位放到高地址:Copy1 2 3 0x100 0x101 0x102 0x103 0x78 0x56 0x34 0x12如果系统为大端序,则将 a 的低位放到高地址,高位放到低地址:Copy1 2 3 0x100 0x101 0x102 0x103 0x12 0x34 0x56 0x78按照上面的排列,可以写一个简单的程序判断系统为小端序还是大端序Copy 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <iostream> using namespace std; int main(int argc, char* argv[]) { int a = 0x12345678; char* b = (char*)&a; if (*b == 0x78) { cout << "System is little endian" << endl; } if (*b == 0x12) { cout << "System is big endian" << endl; } return 0; }Copy1 System is little endian文章作者 xhcoding上次更新 2025-11-27许可协议 CC BY-NC-ND 4.0