Big Endian(大端)vs Little Endian(小端)

Big Endian(大端)指最高有效字节在内存的低地址位;Little Endian(小端)指最低有效字节在内存的低地址位。
具体来说,对于单个字节的数据,不存在大小端的问题。对于多字节的数据类型,其字节是如何在内存中分布的呢? 比如一个int,在32位的机器上占用4个字节,假定其值为0x12345678,内存地址为0x1000 - 0x1003,那么这个值在0x1000、0x1001、0x1002、0x1003上的分布见下表:

0x1000 0x1001 0x1002 0x1003
Big Endian 12 34 56 78
Little Endian 78 56 34 12

大小端只是存储的一个原理,取决于主机和操作系统,而且不光出现在内存中,因此实际编程中对于有些I/O操作可能需要对字节序有一个更灵活的考虑。大端更符合人的阅读习惯,不过对于机器来说就不存在这个问题了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容