奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 79 页

PDF 物理页索引 95 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
79
PDF 物理页
95(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
346fe7933db48ea6477f507a8e658e873eda2826998b64aa69abe2cbf6a5d752

越多,所能表示的不同可能性就越多。

当然,在十进制中也是同样的道理。例如,电话号码的区号有多少位呢?区号共有3位十进制数,如果所有的区号都使用的话(实际上我们并没有都使用,但这里不考虑这个问题),一共就会有 ${ \mathfrak { l } } 0 ^ { 3 }$ ,即1000个号码,即000\~999。区号是212的7位电话号码会有多少种可能呢? $1 0 ^ { 7 }$ ,即10,000,000个。区号是212,并且以260开头的电话号码会有多少个呢? $1 0 ^ { 4 }$ ,即10,000个。

类似的,在二进制中,可能有的编码数等于2的整数次幂,其幂指数就是比特位的位数。

每增加一个比特位就会将编码的数量增加一倍。

如果已知所要用到编码的数量,如何计算需要多少比特位呢?换句话说,在上表中,如何才能由码字数反推出比特位数呢?

所要用到的方法叫做以2为底的对数运算,对数运算是指数运算的逆运算。我们知道2的7次幂等于128。那么以2为底的128的对数就是 $7 \textdegree$ 用数学符号来表示:

$$
2 ^ { 7 } = 1 2 8
$$

等价于:

$$
\mathbf { l o g } _ { 2 } \mathbf { l } 2 8 = 7
$$

因此,如果以2为底的128的对数是7,以2为底256的对数就是 ${ \mathfrak { z } } _ { \circ }$ 那么,以2为底200的对数是多少呢?大约是7.64,但实际上并不需要知道具体的值。如果我们要用二进制来表示200种不同的事物,共需要8个比特位。

9 二进制数

79