字、双字、四字
软件版本 | 硬件版本 | 更新内容 |
---|---|---|
arm64 |
1. 字、双字、四字到底占几个字节
1.1 答案1
字、双字、四字到底占几个字节和cpu位数没有关系,也就是说不管16位还是64位它们占的字节数都一样。 在这种情况下占用的字节如下表:
字 | 双字 | 四字 | |
---|---|---|---|
字节数 | 2 | 4 | 8 |
1.2 答案2
这个答案是从字的出外来讲的,字这个概念最早是指CPU一次可以处理的数据位数,在这种情况下,字到底占几个字节和CPU位数存在对应关系的。 在这种情况下占用的字节数如下表:
字 | 双字 | 四字 | |
---|---|---|---|
32位CPU | 4字节 | 8字节 | 16字节 |
64位CPU | 8字节 | 16字节 | 32字节 |
TIP
以上两个答案没有明确的对错,在linux内核中是按归答案2来处理的。
2. 为什么要使用字的概念
字的概念其实就是为在一些协议或者概念传播时,可以抛开不同编程语言数据类型的影响,明确当前这个字段或者属性占用几个字节。 比如在一个协议中要求A这个属性需要占一个字,那在你自己的系统中你需要根据CPU位数和使用的编程语言来决定使用什么样的数据 类型来表示。
提示
欢迎评论、探讨,如果发现错误请指正。转载请注明出处! 探索者