Skip to main content

2. Notation for Bit Strings and Integers (位串和整数的表示法)

以下与位串和整数相关的术语将被使用:

a. 十六进制数字 (Hex Digit) 是集合 {0, 1, ..., 9, A, ..., F} 的元素. 十六进制数字是4位串的表示. 示例: 7 = 0111, A = 1010.

b. 字 (Word) 等于32位或64位串,可以分别表示为8个或16个十六进制数字的序列. 要将字转换为十六进制数字,每个4位串都转换为其十六进制等价物,如上面(a)中所述. 示例:

1010 0001 0000 0011 1111 1110 0010 0011 = A103FE23.

在整个文档中,当表示32位和64位字时都使用"大端 (big-endian)"约定,因此在每个字内,最高有效位显示在最左边的位位置.

c. 整数 (Integer) 可以表示为字或字对.

介于0和2^32 - 1之间(含)的整数可以表示为32位字. 整数的最低有效四位由字表示的最右边的十六进制数字表示. 示例: 整数 291 = 2^8+2^5+2^1+2^0 = 256+32+2+1 由十六进制字 00000123 表示.

对于介于0和2^64-1之间(含)的整数也是如此,可以表示为64位字.

如果 z 是整数,0 <= z < 2^64,则 z = (2^32)x + y,其中 0 <= x < 2^320 <= y < 2^32. 由于 x 和 y 可以分别表示为字 X 和 Y,因此 z 可以表示为字对 (X,Y).

同样,使用"大端"约定,对于由多个字表示的值,最高有效字位于最左边的字位置.

d. 块 (Block) = 512位或1024位串. 块(例如 B)可以表示为32位或64位字的序列.