在我的 little-endian z80-esque 处理器上,我有一个 32 位long int msk = 0xFFFFFF00
(子网掩码)。(unsigned char *)&msk
今天早上,当我尝试传递给一个
void bar(unsigned char * c);
遍历 this 值&msk
并将它们存储到数据库的函数时,我了解了字节序
。
不幸的是,由于 z80 处理器的 little-endian-ness,数据库“向后”存储值,当另一个函数读回字节时,它会看到0x00FFFFFF
,这不是正确的子网掩码。
工会有什么简单的方法吗?我想char[3]
映射到我的 LSB long int msk
,而不是现在的(char[0]
获取 LSB)。
总之,Big-Endian 更好。