越多,所能表示的不同可能性就越多。
当然,在十进制中也是同样的道理。例如,电话号码的区号有多少位呢?区号共有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