Byte 与 Word

Basic Idea(核心概念)

byte 是字节单位,word 是由多个字节组成的一个机器字。

基本关系:

1 byte = 8 bit
1 word = 若干 byte

在 CSAPP 第二章讨论机器级数据表示时,可以先把关系理解为:

bit -> byte -> word

也就是:

多个 bit 组成 byte
多个 byte 组成 word

Hex 与 Byte 的关系

十六进制的一位可以表示 4 个二进制位:

1 位十六进制 = 4 bit

因此两位十六进制正好表示 8 个二进制位:

2 位十六进制 = 8 bit = 1 byte

例如:

0x01234567

可以按照每两个十六进制位拆成 4 个字节:

0x01  0x23  0x45  0x67

所以:

0x01234567 = 4 byte = 32 bit

Word 与 Byte 的关系

如果把 0x01234567 看成一个 32 位的 word,那么它由 4 个 byte 组成:

word: 0x01234567
 
byte: 0x01  0x23  0x45  0x67

这里的 word 表示一个整体的机器字;而 byte 是这个 word 内部的字节组成部分。

因此可以记成:

word 是整体
byte 是组成 word 的字节单位

高位字节与低位字节

对于数值:

0x01234567

从数值权重来看:

高位字节                         低位字节
0x01        0x23        0x45        0x67

所以:

最高有效字节 = 0x01
最低有效字节 = 0x67

这里的“高位”和“低位”描述的是数值本身的位权高低,不是内存地址高低。


Summary(总结)

1 byte = 8 bit
2 位十六进制 = 1 byte
1 word = 若干 byte

对于:

0x01234567

它可以拆成:

0x01  0x23  0x45  0x67

其中:

0x01 是最高有效字节
0x67 是最低有效字节