2.2.1 二进制计数
◇ 二进制数字系统有两个数字(位).
下面学习二进制系统的计数方法.首先看一下十进制系统的计数方法.在用完数字之前,从О开始,依次计数到9.然后从另一个数位开始(左边),继续从10计数到99.此时已经用完了两位数字的所有组合,所以需要第三个数位,从100计数到999.
二进制数在计数时,也会发生类似的情况,只是这时只有两个数字,称为位(比特).开始计数:0,1.此时,已经使用了两个数字,所以加入另一个数位继续计数:10,11.至此,已经使用了两个数字的所有组合,所以需要第3个数位.使用3个数位,可以继续计数:100,101,110,111.还要继续下去,就需要第4个数位,以此类推.从0到15的二进制计数方法如表2.1所示.注意在每一列中1和0的交替规律.
◇ 二进制数字系统的基为2.
如表2.1所示,从О计数到15需要4个数位.一般来说,对于 n 个数位,可以计数到2^n-1. $$最大十进制数=2^n-1$$ 例如,若有5个数位(n =5),就可以从0计数到31. $$2^5-1= 32-1 = 31$$ 若有6个数位(n =6),就可以从О计数到63. $$2^6-1=64-1 =63$$
◇ 一个数中位的值由它在此数的位置确定.
10进制数字 | 2进制数字 | |||
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
10 | 1 | 0 | 1 | 0 |
11 | 1 | 0 | 1 | 1 |
12 | 1 | 1 | 0 | 0 |
13 | 1 | 1 | 0 | 1 |
14 | 1 | 1 | 1 | 0 |
15 | 1 | 1 | 1 | 1 |
2.2.2 二进制数的加权结构
◇ 位的权或值在二进制数中从右向左增加.
二进制数是有权数.在二进制整数中,最右边的位是最低有效位( LSB),并且相应的权是$2^0$ = 1.权从右向左,每前进一位,2的幂次增加1.最左边的位是最高有效位(MSB).二进制数位的大小确定了它的权.
利用二进制也可以表示小数,在二进制小数点的右边添加相应的位就可以了,就像把十进制数位添加在十进制小数点的右边一样.在二进制小数中,最左边的位是最高有效位,其相应的权是$2^{-1}$ = 0.5.小数的权从左向右减少,每位相差2的-1次幂.二进制数的加权结构是 $$ 2^{n-1}﹒﹒﹒2^{3}\ 2^{2}\ 2^1 2^0\ .2^{-1}\ 2^{-2}﹒﹒﹒2^{-n}\ ———↑—二进制小数点 $$
其中n是从二进制小数点开始的位数.因此,在二进制小数点左边的所有位,其相应的权是2的正数幂,就像前面所讨论的整数一样.在二进制小数点右边的所有位,其相应的权是2的负数幂,或称小数权.
8位二进制整数和6位二进制小数所对应的2的幂次,以及它们对应的十进制权,如表2.2所示.注意对于2的正数幂,权将增大至两倍,而对于2的负数幂,权将减半.通过倍增2的最高有效正数幂,并二等分2的最低有效负数幂,就可以很容易地扩展这个表.例如,$2^9$= 512 和 $2^{-7}$ = 0.0078125.
表2.2二进制权
$2^8$ | $2^7$ | $2^6$ | $2^5$ | $2^4$ | $2^3$ | $2^2$ | $2^1$ | $2^0$ |
---|---|---|---|---|---|---|---|---|
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
$$ 2的正次幂(正整数) $$
$2^{-1}$ | $2^{-2}$ | $2^{-3}$ | $2^{-4}$ | $2^{-5}$ | $2^{-6}$ |
---|---|---|---|---|---|
1/2 | 1/4 | 1/8 | 1/16 | 1/32 | 1/64 |
0.5 | 0.25 | 0.125 | 0.625 | 0.03125 | 0.015625 |
$$ 2的负次幂(小数) $$
2.2.3 二进制数到十进制数的转换
◇把二进制数中所有位是1的权相加得到十进制数.
对于二进制数转换成十进制数,只要把二进制数中的所有位是1的权加起来,不考虑所有位是0的权.