小端存储:数据的低字节存储在地址空间的低字节位,数据的高字节存储在地址空间的高字节位。
大端存储:数据的低字节存储在地址空间的高字节位,数据的高字节存储在地址空间的低字节位。
判断计算机是小端还是大端的核心点:
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