常见主机字节序
来源:互联网 发布:软件开发行业分析 编辑:程序博客网 时间:2024/05/17 05:55
常见主机字节序
1. Little endian:将低序字节存储在起始地址
2. Big endian:将高序字节存储在起始地址
LE little-endian
最符合人的思维的字节序
地址低位存储值的低位
地址高位存储值的高位
怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说
低位值小,就应该放在内存地址小的地方,也即内存地址低位
反之,高位值就应该放在内存地址大的地方,也即内存地址高位
BE big-endian
最直观的字节序
地址低位存储值的高位
地址高位存储值的低位
为什么说直观,不要考虑对应关系
只需要把内存地址从左到右按照由低到高的顺序写出
把值按照通常的高位到低位的顺序写出
两者对照,一个字节一个字节的填充进去
例子:在内存中双字0x01020304(DWORD)的存储方式
内存地址
4000 4001 4002 4003
LE 04 03 02 01
BE 01 02 03 04
例子:如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
big-endian little-endian
0x0000 0x12 0xcd
0x0001 0x34 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12
1. Little endian:将低序字节存储在起始地址
2. Big endian:将高序字节存储在起始地址
LE little-endian
最符合人的思维的字节序
地址低位存储值的低位
地址高位存储值的高位
怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说
低位值小,就应该放在内存地址小的地方,也即内存地址低位
反之,高位值就应该放在内存地址大的地方,也即内存地址高位
BE big-endian
最直观的字节序
地址低位存储值的高位
地址高位存储值的低位
为什么说直观,不要考虑对应关系
只需要把内存地址从左到右按照由低到高的顺序写出
把值按照通常的高位到低位的顺序写出
两者对照,一个字节一个字节的填充进去
例子:在内存中双字0x01020304(DWORD)的存储方式
内存地址
4000 4001 4002 4003
LE 04 03 02 01
BE 01 02 03 04
例子:如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
big-endian little-endian
0x0000 0x12 0xcd
0x0001 0x34 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12
x86系列CPU都是little-endian的字节序.
摘抄自:http://baike.baidu.com/view/2194385.htm
- 常见主机字节序
- 判断主机字节序
- 主机字节序
- 判断主机字节序
- 判断主机字节序
- 确定主机字节序
- 主机字节序
- 主机字节序
- 网络字节序与主机字节序
- 网络字节序和主机字节序
- 网络字节序与主机字节序
- 网络字节序和主机字节序
- 网络字节序和主机字节序
- 网络字节序和主机字节序
- 网络字节序与主机字节序
- 网络字节序与主机字节序
- 网络字节序与主机字节序
- 网络字节序与主机字节序
- Redhat 6 恢复boot分区
- Eclipse在Linux下的安装
- struts学习笔记
- paip.java-asp-php-.net互相调用方法大总结
- 计算三伏天
- 常见主机字节序
- Fedora14 源码安装qt4.7.0 PC版 和 arm版 过程 及问题解决(之二,续上)
- 梅姐为什么离开Google:Google 容不下她!
- SAP技术概述(一)
- VirtualBox在CentOS中共享Windows文件夹
- 理论不只是理论的zhajinhuagame
- Window.Close();Window.Open();
- 增大肌肉块-14大金律
- 端点0输出中断处理函数