WEB开发网
开发学院软件开发C++ 大端、小端问题详解 阅读

大端、小端问题详解

 2012-05-25 10:18:19 来源:WEB开发网   
核心提示:四、 什么是高/低字节现在我们弄清了高/低地址,接着考虑高/低字节,大端、小端问题详解(3),有些文章中称低位字节为最低有效位(LSB),高位字节为最高有效位(MSB),分别看看在两种字节序下其存储情况,我们可以用unsigned char buf[4]来表示value:Big-Endian: 低地址存放高位,如果我们

四、 什么是高/低字节

现在我们弄清了高/低地址,接着考虑高/低字节。有些文章中称低位字节为最低有效位(LSB),高位字节为最高有效位(MSB)。如果我们有一个32位无符号整型0x12345678,那么高位是什么,低位又是什么呢? 其实很简单。在十进制中我们都说靠左边的是高位,靠右边的是低位,在其他进制也是如此。就拿 0x12345678来说,从高位到低位的字节依次是0x12、0x34、0x56和0x78
高/低地址端和高/低字节都弄清了。我们再来回顾 一下Big-Endian和Little-Endian的定义,并用图示说明两种字节序:
以unsigned int value = 0x12345678为例,分别看看在两种字节序下其存储情况,我们可以用unsigned char buf[4]来表示value:

Big-Endian: 低地址存放高位,如下图:
栈底 (高地址)
---------------
buf[3] (0x78) -- 最低有效位(LSB)
buf[2] (0x56)
buf[1] (0x34)
buf[0] (0x12) -- 最高有效位(MSB)
---------------
栈顶 (低地址)

Little-Endian: 低地址存放低位,如下图:
栈底 (高地址)
---------------
buf[3] (0x12) -- 最低有效位(LSB)
buf[2] (0x34)
buf[1] (0x56)
buf[0] (0x78) -- 最高有效位(MSB)
--------------
栈 顶 (低地址)

 

五、Big-Endian和Little-Endian优缺点

上一页  1 2 3 4 5  下一页

Tags:大端 问题 详解

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接