关于字节序的解释
来源:互联网 发布:辽宁乐股软件 编辑:程序博客网 时间:2024/04/26 08:22
字节顺序是指多字节类型的数据在内存中的存放顺序, 通常有小端(Little Endian)、大端(Big Endian)两种字节顺序.
内存地址是由上到下有从左至右依次递增的,小端字节序指低字节位数据存放在内存低地址处, 高字节位数据存放在内存高地址处; 大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处.
举个例子, 比如数字0x1 2 3 4 5 6 7 8在两种不同字节序CPU中的存储顺序如下所示:
| | | |
// //
最高位 最低位
Big Endian(高位存低址 低位存高址)
低地址 高地址
| ----------------------------------------->
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | 12 | 34 | 56 | 78 |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
高地址
Little Endian(高位存高址 低位存低址)
低地址 高地址
| ----------------------------------------->
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | 78 | 56 | 34 | 12 |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
高地址
从上面两图可以看出, 采用Big Endian方式存储数据更符合我们人类的思维习惯. 所有网络协议也都是采用Big Endian的方式来传输数据的. 所以有时我们也会把Big Endian方式称之为网络字节序.
谈到字节序的问题, 必然牵涉到两大CPU派系. 那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU. PowerPC系列采用Big Endian方式存储数据, 而x86系列则采用Little Endian方式存储数据. 至于为什么CPU解释不同, 可能是由于不同的体系构架在起始竞争时人为地制造和对手不兼容性......
内存地址是由上到下有从左至右依次递增的,小端字节序指低字节位数据存放在内存低地址处, 高字节位数据存放在内存高地址处; 大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处.
举个例子, 比如数字0x1 2 3 4 5 6 7 8在两种不同字节序CPU中的存储顺序如下所示:
| | | |
// //
最高位 最低位
Big Endian(高位存低址 低位存高址)
低地址 高地址
| ----------------------------------------->
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | 12 | 34 | 56 | 78 |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
高地址
Little Endian(高位存高址 低位存低址)
低地址 高地址
| ----------------------------------------->
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | 78 | 56 | 34 | 12 |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
高地址
从上面两图可以看出, 采用Big Endian方式存储数据更符合我们人类的思维习惯. 所有网络协议也都是采用Big Endian的方式来传输数据的. 所以有时我们也会把Big Endian方式称之为网络字节序.
谈到字节序的问题, 必然牵涉到两大CPU派系. 那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU. PowerPC系列采用Big Endian方式存储数据, 而x86系列则采用Little Endian方式存储数据. 至于为什么CPU解释不同, 可能是由于不同的体系构架在起始竞争时人为地制造和对手不兼容性......
- 关于字节序的解释
- 关于字节对齐问题的解释.
- 关于DEX字节码解释的网址
- 关于字节序的问题
- 关于字节序的问题
- 关于字节序的讨论
- 字节顺序的详细解释
- 字节顺序的详细解释
- 关于网络字节序和主机字节序的转换
- 关于网络字节序和主机字节序的转换
- 关于网络字节序和主机字节序的转换
- 关于网络字节序和主机字节序的转换
- 关于网络字节序和主机字节序的转换
- 字节顺序的详细解释--关于Big endian和 Little endian
- 一篇关于字节序的文章
- 关于字节序的一些思考
- 关于字节的认识
- 关于字节的换算
- 地主家也没有余粮了---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三十六)
- HTML转义字符
- 两个设计模式
- linux下利用PF_PACKET协议族捕包方法
- Excel与OWC做报表总结
- 关于字节序的解释
- 从程序员到CTO所要培养的六种能力
- SQL注入
- VS2005中自带的测试工具——介绍一
- asp.net ajax updatepanel 乱码问题 最完美解决方案
- 数据分析设计、分类设计
- MSSQL内外连接(INNER JOIN)语句详解
- SD出货相关
- 程序分类设计,单表无限扩展