在数学和日常生活中,我们最熟悉的是逢10进位的十进制数。它有两个基本特征:
(1)数位从右至左,每位代表的数值是按10的指数增加的,如个、十、百、千…等,这个数值,我们常称为位权值。
例如:2184这个数可以用多项式表示为:
2 1 8 4=2×103+1×102+8×101+4×100
千 百 十 个 千 百 十 个
位 位 位 位 位 位 位 位
可见,十进制数的位权值是以10为底的幂,因此任何一个十进制数都可以用一个多项式表示:
(N)10=an·10n+an-1·10n-1+…+a1·101+a0·100+'a-1·10-1+…+a-m·10-m
———————整数部分—————— ———小数部分————
(2)每一位数上要有10个不同的符号:0、1、2、3、4、5、6、7、8、9。在多项式中的an、an-1…,可以是这10个中的任意一个。
我们用10个不同形状的字符表示10个数,但是在计算机的硬件中,还不可能找到10种不同状态的物理量来表示10个数。因此,数制必须修改。我们知道,计算机是基于电子器件的特性来工作的,这些电子线路处理的是数字信号,它们表现为电位的高与低,电路的接通与断开等两种状态,我们用“0”、“1”来描述。这样就可以用0、1两个状态表示数,以2为底的幂作位权值,建立逢2进位的进进制数。例如:
(1101)2=1·23+1·22+0·21+1·20
表1-1列出从0~15的二进制数的表示。
表1-1 各种数制对应表
|
数 |
十进制 |
二进制 |
八进制 |
十六进制 |
数 |
十进制 |
二进制 |
八进制 |
十六进制 |
|
零 |
0 |
0 |
0 |
0 |
八 |
8 |
1000 |
10 |
8 |
|
一 |
1 |
1 |
1 |
1 |
九 |
9 |
1001 |
11 |
9 |
|
二 |
2 |
10 |
2 |
2 |
十 |
10 |
1010 |
12 |
A |
|
三 |
3 |
11 |
3 |
3 |
十一 |
11 |
1011 |
13 |
B |
|
四 |
4 |
100 |
4 |
4 |
十二 |
12 |
1100 |
14 |
C |
|
五 |
5 |
101 |
5 |
5 |
十三 |
13 |
1101 |
15 |
D |
|
六 |
6 |
110 |
6 |
6 |
十四 |
14 |
1110 |
16 |
E |
|
七 |
7 |
111 |
7 |
7 |
十五 |
15 |
1111 |
17 |
F |
任何一个二进制数都可以用以下多项式表示
(N)2=an·2n+an-1·2n-1+…+a1·21+a0·20+'a-1·2-1+…+a-m·2-m
———————整数部分———— ——小数部分——
式中,an、an-1、…是0或1。
按位权值展开,求多项式之和,就得到十进制数。
为了区别不同的数制,我们把数值用圆括弧括起来,在右下角用小号字体的2、10等来注明,如(110101)2,表示是二制制数,(216)10表示是十进制数。
(1)整数的转换
例如:
(110101)2= 1×25+1×24+0×2+1×22+0×11+1×20
= 32+16+0+4+0+1
=(53)10
(2)小数的转换
例如:
(0.101)2= 1×2-1+1×2-2+1×2-3
= 0.5+0+0.125
=(0.625)10
(3)既有整数部分又有小数部分的数,转换时,分别按整数和小数转换,再用小数点连起来。例如:
(110101.101)2=(110101)2+(0.101)2
=(53)10+(0.625)10
=(53.625)10