QT在Win32平台下数据为小端存储方式
小端模式(Little Endian):数据的高字节,保存在内存的高地址中;数据的低字节,保存在内存的低地址中.
union union_long
{
long l;
uint8_t uc[4];
}temp_long;
temp_long.l =23456;
qDebug()<<temp_long.uc[0]<<temp_long.uc[1]<<temp_long.uc[2]<<temp_long.uc[3];
//a0 5b 00 00
qDebug()<<&temp_long.uc[0]<<&temp_long.uc[1]<<&temp_long.uc[2]<<&temp_long.uc[3];
//0x11ec350 0x11ec351 0x11ec352 0x11ec353
- 从代码的运行结果来看是符合小端模式的.
- 联合体的这种功能常用于数据的转换和传输,也可以用于拆分和合并long和float.