1 大小端问题 在计算机中存在两种字节序:大端和小端,大端是指计算机中表示一个数时高位在前,低位在后,也就是说低地址存放数据的高位部分,而高地址存放数据的低位部 分,如PPC就是属于这种类型的;相对的,小端是指计算机存储数据时低位在前,高位在后,即低地址存放数据的低位部分,高地址存放数据的高位部分,我们天 天用的X86 CPU就是这样的。 例如: 0x12345678在大小端系统中分别表示如下: Address : 0x500 0x501 0x502 0x503 +-------+------+-------+-------+ LittleEndian : | 0x78 | 0x56 | 0x34 | 0x12 | +-------+------+-------+-------+ +-------+------+-------+-------+ BigEndian : | 0x12 | 0x34 | 0x56 | 0x78 | +-------+------+-------+-------+ 可以用如下方法来判断一个CPU的大小端: boolean IsBigEndian(void) { U16 wTest = 0x1234; U8* puTest = (U8*)&wTest; if (0x12 == puTest[0]) { return true; } else { return false; } }
C语言大小端
最新推荐文章于 2024-07-12 00:29:56 发布