主机字节顺序
字节 顺序 主机
2023-09-11 14:22:23 时间
不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序
最常见的有两种:
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://blog.chinaunix.net/uid-790245-id-2037563.html
相关文章
- 字节跳动-财经-校招内推
- 第七节,初识模块字节码和注释
- asm 查看字节码
- Android开发卷吗?卷;怎么破?从Framework提升自己——字节总监
- 关于java字节码框架ASM的学习
- 字节跳动面试官这样问消息队列:高可用、不重复消费、可靠传输、顺序消费、消息堆积,我整理了下
- 一个int类型究竟占多少个字节
- 学历不高!有机会进BAT、字节跳动等大厂吗?
- 字节跳动全年校招超过1万人!你还能有机会吗?
- 自动拦截 50% crash,字节自研 Fastbot 如何助力今日头条稳定性测试
- 字节流与字符流学习
- 本地代码也可以与字节码区分开来
- 太可惜了,4面字节跳动,我的软件测试工程师Offer竟被一道App测试“送分题”给拦截了