数字系统
总结
- 数字系统(或数码系统)是用独特的符号来表示一个数字的系统。位置化数字系统中,在数字中符号所占据的位置决定了其表示的值。每个位置有一个位置量与其相关联。非位置化数字系统使用有限的数字符号,每个符号有一个值。但是符号所占用的位置通常与其值无关,每个符号的值是固定的。
- 在十进制系统中,底b=10并且我们用10个符号来表示一个数。该系统中的符号常被称为十进制数码或仅称为数码。在二进制系统中,底b=2并且我们用2个符号来表示一个数。该系统中的符号常被称为二进制数码或位。在十六进制系统中,底b=16并且我们用16个符号来表示一个数。该系统中的符号常被称为十六进制数码。在八进制系统中,底b=8并且我们用8个符号来表示一个数。该系统中的符号常被称为八进制数码。
- 我们可以从任意进制转换到十进制。我们将数码乘以其在源系统中的位置量并求和便得到在十进制中的数。我们能够将十进制数转换到与其等值的任意进制数。需要两个过程,一个用于整数部分,另一个用于小数部分。整数部分需要连除,而小数部分需要连乘。
- 将数字从二进制转换到十六进制很容易,反之亦然。这是因为二进制中的4位恰好是十六进制中的1位。
- 将数字从二进制转换到八进制很容易,反之亦然。这是因为二进制中的3位恰好是八进制中的1位。
复习
1.定义一个数字系统。
2.辨析位置化和非位置化数字系统。
3.定义位置化数字系统中的底或基数。位置化数字系统中,底与符号的数量有什么关系?
4.简述十进制系统。为什么称作十进制?该系统的底是多少?
5.简述二进制系统。为什么称作二进制?该系统的底是多少?
6.简述八进制系统。为什么称作八进制?该系统的底是多少?
7.简述十六进制系统。为什么称作十六进制?该系统的底是多少?
8.为什么二进制和十六进制互换很容易?
9.十六进制系统中1个数码表示二进制系统中的几位?
10.八进制系统中1个数码表示二进制系统中的几位?
练习
1.将下列二进制数转换为十进制数,不用计算器并写出计算过程:
a.(01101)2
b.(1011000)2
c.(011110.01)2
d.(111111.111)2
2.将下列十六进制数转换为十进制数,不用计算器并写出计算过程:
a.(AB2)16
b.(123)16
c.(ABB)16
d.(35E.E1)16
3.将下列八进制数转换为十进制数,不用计算器并写出计算过程:
a.(237)s
b.(2731)s
c.(617.7)8
d. (21.11)s
4.将下列十进制数转换为二进制数,不用计算器并写出计算过程:
a.1234
b.88
c.124.02
d.14.56
5.将下列十进制数转换为八进制数,不用计算器并写出计算过程:
a.1156
b.99
c. 11.4
d. 72.8
6.将下列士进制数转换为十六进制数,不用计算器并写出计算过程:
a.567
b.1411
c.12.13
d. 16.5
7.将下列八进制数转换为十六进制数,不用计算器并写出计算过程:
a.(514)s
b.(411)s
c.(13.7)s
d.(1256)s
8.将下列十六进制数转换为八进制数,不用计算器并写出计算过程:
a.(51A)16
b.(4E1)16
c.(BB.C)16
d.(ABC.D)6
9.将下列二进制数转换为八进制数,不用计算器并写出计算过程:
a.(01101)2
b.(1011000)2
c.(011110.01)2
d.(111111.111)2
10.将下列二进制数转换为十六进制数,不用计算器并写出计算过程:
a.(01101)2
b.(1011000)2
c.(011110.01)2
d.(111111.111)2
11.将下列十进制数转换为二进制数,使用例2.17中讨论的另一种方法,并写出计算过程:
a.121
b.78
C.255
d.214
12.将下列十进制数转换为二进制数,使用例2.18中讨论的另一种方法,并写出计算过程;
a.3%
b.12/%2
c.4''/a
d.12/2m
13.在底为b的位置化数字系统中,可用k个数码表示的最大整数数字是b-1。分别找出以下系统中使
用6个数码的最大数字:
a.二进制
b.十进制
c.十六进制
d.八进制
14.不进行转换,找出下面各个情况中在目标系统中所需的最少数码数量:
a.5个十进制数码转换为二进制
b.4个十进制数码转换为八进制
c.7 个十进制数码转换为十六进制
15.不进行转换,找出下面各个情况中在目标系统中所需的最少数码数量:
a.5位二进制数码转换为十进制
b.3个八进制数码转换为十进制
c.3个十六进制数码转换为十进制
16.下表显示如何重写小数,使其分母是2的幂次(1,2,4,8,16等等)。
| 原来的写法 | 新的写法 |
|---|---|
| 0.5 | 1/2 |
| 0.25 | 1/2 |
| 0.125 | 1/8 |
| 0.0625 | 1/16 |
| 0.03 125 | 1/32 |
| 0.015 625 | 1/64 |
但是,我们有时需要组合它们以得到合适的小数。例如,0.625是0.5+0.125。这就意味 0.625可以写成'/2+/8或/8。将下列十进制小数改写为带2的幂次的小数:
a. 0.1 875
b. 0.640 625
c.0.40 625
d.0.375
17.使用前面的解题方法,把下列数转换为二进制数;
a. 7.1 875
b. 12.640 625
c. 11.40 625
d.0.375
18.找出下列情形的整数最大值:
a. b=10,k=10
b.b=2,k=12
c.b=8,k=8
d.b=16, k=7
19.找出用于存储下列整数所需的最小位数:
a.小于1000
b.小于100 000
c.小于64
d. 小于256
20.一个小于bl的数可以用以b为底的k个数码表示。求下列情况各需要数码的数量;
a.小于2”的二进制整数
b.小于10°的十进制整数
c.小于8 的八进制整数
d.小于16°的十六进制整数
21.一个用于因特网的公共底是b=256。我们使用256个符号来表示该系统中的数字。设计者使用十进制数字0到255来表示其中一个符号,而不是创建大量的新符号。也就是说,符号集是S=(0,1,2,3,···,255}。该系统中的数字总是以St.S2.S.S4这种4个符号间隔3个点的形式出现。该系统用于定义因特网的网址(参见第6章)。例如,该系统中的一个地址是10.200.14.72,等价于十进制中的10×256'+200×256+14×256'+72×256°=180883016。这个数字系统称为点十进制计数法。写出下列因特网地址的十进制数值:
a. 17.234.34.14
b. 14.56.234.56
c. 110.14.56.78
d.24.56.13.11
22.前面问题中因特网地址也可以表示为位模式。这种情况,用32位表示一个地址。在点十进制计
数法中的一个符号用8位。例如,地址10.200.14.72,也可表示为00001010 11001000 00001110
01001000。用位表示下列因特网地址:
a.17.234.34.14
b. 14.56.234.56
c. 110.14.56.78
d.24.56.13.11
23.写出等值下列罗马数字的十进制数:
a.XV
b.XXVII
c. VLII
d. MCLVII
24.把下列十进制数转换成罗马数字:
a.17
b.38
c.82
d.999
25.找出下列有错的罗马数字:
a.MMIM
b.MIC
c.CVC
d.VX
26.玛雅文明发明了位置化的二十进制(以20为底)数字系统,称为玛雅数字系统。他们用20为底可
能是因为他们使用手指和脚趾一起来计数。该系统使用的20个符号建立在3个更简单的符号之上。
该系统的先进特征在于它有符号0,是一个外壳。另外2个符号是一个圈(或一个鹅卵石)表示1.
以及一个横杆(或一个棍子)表示5。为表示大于19的数字,数字竖写。在因特网搜索以下问题的
答案:十进制数12、123、452和1256在玛雅数字系统中是什么?
27.巴比伦文明发展了首个位置化数字系统,称为巴比伦数字系统。他们继承了闪族人和阿卡得人的数
字系统。将其发展为位置化的六十进制(以60为底)数字系统。该底现今还用于时间和角度。例
如,1小时为60分钟;1分钟为60秒。同样,1度为60分;1分为60秒。作为底为b的位置化
系统需要b个符号(数码),我们希望一个位置化的六十进制系统有60种符号。但是巴比伦人没有
符号0,而且通过堆叠表示1和10的2个符号构造出其他59个符号。在因特网搜索以下问题的
答案:
a.用巴比伦数字表示十进制数:11291,3646,3582。
b.指出没有符号0可能出现的问题。巴比伦数字系统是如何解决这个问题的?
