章节目录
数字系统(或数码系统)定义了如何用独特的符号来表示一个数字。在不同的系统中,大小相同的数字有不同的表示方法,例如,十进制数(42)10可表示为(2A)16和(52)8。
数字系统分为位置化数字系统和非位置化数字系统。
一、位置化数字系统
位置化数字系统中符号所占的位置决定了其表示的值,该系统中的数字表示如下:
它表示的十进制值是:
其中,S 是一套符号集,b 是底数(或基数),b 等于 S 中的符号总数,SK 和 SL 是代表整数和小数部分的符号。
二、十进制系统
十进制(decimal),符号集 S = { 0,1,2 … 8,9 },底数 b = 10。十进制系统中的符号常被称为十进制数码或简称数码。十进制数字表示为:
书写十进制数通常省略圆括号、底和+号(对于正数)。例如,把+(552.23)10写成552.23,底和正号是隐含的。
整数:没有小数部分的整型数字
实数:带有小数部分的数字
K位十进制表示的最大整数:Nmax = 10K-1
2.1 位置量
另一种表示一个数的方法是使用位置量,即用10的次幂(100, 101, …, 10K-1 )表示十进制数字。
三、二进制系统
二进制(binary),符号集 S = { 0,1 },底数 = 2 。二进制系统中符号常被称为二进制数码、位、位数码。 数据和程序都是以位模式(二进制模式,是01序列)存储于计算机中的。
3.1 二进制整数
二进制整数表示为: ±(SK-1…S1S0)2,其十进制值计算为:
K位二进制表示的整数最大值为: Nmax=2K-1
3.2 二进制实数
一个二进制实数由左边 K 位和右边的 L 位组成:±(SK-1…S1S0.S-1…S-L)2,其十进制值计算为:
四、十六进制
十六进制(hexadecima),S = { 0,1,…,9,A,B,C,D,E,F },底数 b = 16,该系统中符号常被称为十六进制数码。
A=10
B=11
C=12
D=13
E=14
F=15
五、八进制
八进制(oct),S = { 0,1,…7,8 },底数 b = 8。系统中符号常被称为八进制数码。
六、进制转换
6.1 任意进制转换为十进制
6.2 十进制转换为其他进制
需要两个过程:整数部分和小数部分分别转换
转换整数部分(连除法)
十进制数的整数部分为源,转换后的整数部分为目标。先创建一个空目标。接着反复用底数除源并得到商和余数。余数插人目标的左边,商变为新的源,直到商为0。
转换小数部分 (连乘法)
十进制小数部分为源,转换后的小数部分为目标。创建一个空目标。接着反复乘源并的到结果,结果的整数部分插入目标右边,小数部分成为新的源。直到目标数位足够。
二进制、八进制、十六进制都无法完整表示十进制的所有数,只能表示其中一个子集。 例如 十进制 0.1 转换为二进制是:0.0001100110011… 是一个无限循环小数。
6.2 二进制与十六进制转换
二进制中的四位恰好是十六进制中的一位
6.4 二进制与八进制转换
二进制中三位恰好是八进制中一位
6.5 八进制与十六进制转换
先将八进制转换为二进制,再将二进制转化为十六进制。
6.6 数码的数量计算
从一个底向另一个底转换时,如果知道源系统数码的最大数量,就能知道目标系统中所需用到的数码的最小数量。 假设在以b1为底的系统中使用K个数码,在源系统中显示的最大数是 b1K-1 。 在目标系统中可拥有的最大数是b2X-1。因此b2X-1 ≥ b1K-1, 所以b2X ≥ b1K,即
七、非位置化数字系统
非位置化数字系统仍然使用有限的数字符号,每个符号有一个值。但是符号所占用的位置通常与其值无关,每个符号的值是固定的。罗马数字系统就是非位置化数字系统。
为求一个数的值, 需要遵循特定的法则:
- 当一个带有较小值的符号位于一个带有同等值或较大值的符号的后面时,这些值相加。
- 当一个带有较小值的符号位于一个带有较大值的符号的前面时,用大值减小值。
- 如果S1≤10×S2,则符号S1不能出现在符号10×S2之前。 例如, Ⅰ和Ⅴ不能出现在C前面。
- 对于大数字,在6种符号(除 I 以外的所有符号)中的任意一个上方加横杠表示乘以1000。
- 尽管罗马人使用单词nulla(空)来表达零的概念,但罗马数字系统中缺少数码0。
下面演示了一些罗马数字和他们的值: