1
第 1章 数制与码制
1.1 数制(计数体制)
1.1.1概述 (介绍几个基本概念 )
数码(计数制中的基本数字符号)
基数(底数)
数位(数码所在的位置)
位权(各个数位上单位数码所表示的数值大小)
数的表示方式(位置记数法;按权展开法;和式)
2
一、十进制( Decimal)
构成:十个数码( 0~ 9);逢十进一,
借一当十
10110 105104104)5.44(
其中,101----位权 ; 1----数位的序号; 10----基数一般情况下( n位整数,m位小数);
1.1.2 常用数制
3
二、二进制( Binary)
构成:二个数码( 0,1);逢二进一,
借一当二其中,ai ----0~ 9中任一数码

1
2 2)()(
n
mi
i
iB aNN
其中,ai ----0,1中任一数码

1
10 10)()(
n
mi
i
iD aNN
4
构成:十六个数码( 0~ 9,A~ F);
逢十六进一,借一当十六

1
16 16)()(
n
mi
i
iH aNN
其中,ai ----0~ F中任一数码例如,(1110)B=1× 23 + 1× 22 + 1 × 21 + 0 × 20
=(14)10 =(E)16
三、十六进制( Hexadecimal)
5
1.1.3数制转换:
1,二进制和十进制间转换(八进制、十六进制 和十进制间的转换与此类似)
1)二进制转换为十进制四、八进制( Octal)
方法,按位权展开相加解,(11.01)B = 1× 21 + 1× 20 + 0 × 2-1 + 1 × 2-2
例 1,(11.01)B= (?)D
= (3.025)D
6
2)十进制转换为二进制方法,基数乘除法(整数部分用除 2取余法;小数部分用乘 2取整法)
例 2,(57)D= (?)B
例 3,(0.6875)D = (?)B
7
例 2,解:
572
282
142
72
32
12
0
余数
1
0
0
1
1
1
有效位
k0(最低位 )
k5(最高位 )
k1
k2
k3
k4
所以,(57)D= (111001)B
8
例 3,解,0.6875 整数
× 2
1.3750 1
0.7500 0
1
× 2
1.5000
× 2
1.0000 1
× 2
有效位
k-1(最高位 )
k-2
k-3
k-4(最低位 )
所以,(0.6875)D = (0.1011)B
9
3)小数的精度及转换位数的确定
① n位 R进制小数的精度 R-n
例 1,(0.12)10 的精度为 10-2
例 2,(0.101)2 的精度为 2-3
② 转换位数的确定
2-n ≤ 0.1%,
解:设二进制数小数点后有 n位小数,
则其精度为 2-n,由题意知:
例 3,(0.39)10 = (? )2,要求精度达到 0.1%。
解得 n ≥ 10。
所以 (0.39)10 = (0.0110001111)2 。
10
(2) 二进制、八进制、十六进制间转换特点:三种进制的基数都是 2的正整数幂。
方法:直接转换。
例 1,(101011.1)2 = (? )8 = (? )16
解,(101011.1)2 = (101011.100)2 = (53.4)8
(101011.1)2 = (00101011.1000)2 = (2B.8)16
1.2 码制(编码的制式)
1.二进制码
n位码元 2n个对象
11
(2) 格雷码循环码:格雷码的一种,特点为首尾代码也只有一位对应码元不同。
码间距为 1的一种代码。
例 1,0011和 0010 码间距为 1
例 2,0011和 1111 码间距为 2
循环码的构成规律:互补反射、镜像对称
(1) 自然二进制码
12
1位
0
2位
1
0
1
0
0
1
1 1
0
3位
00
01
11
10
0
0
0
0
1
1
1
110
11
01
00
13
(3) 奇(偶)校验码信息码 校验位
0000 0
0000 1
偶校验奇校验
0000 0
0000 0
发送方 接收方
0001 0
0011 0

“对”
检错结果
14
(1) 引入 BCD码的原因:
习惯用十进制,而数字系统只处理二进制
(2)分类
1)有权码:有固定位权
8421BCD,5421BCD,2421BCD,631-1BCD
2)无权码:无固定位权余 3BCD、余 3循环 BCD、格雷 BCD,8421奇校
BCD
2.二 — 十进制( BCD)码( Binary Coded Decimal
Codes)
15
8421码
0000
0001
0010
0011
1001
余 3码
0011
0100
0101
0110
1100
循环码
0000
0001
0011
余 3循环码
0010
0110
0111
0101
1010
0010
1101
1010
十进制数
0
1
2
3
9
12
16
(3)多位十进制数的表示代码间应有间隔例,( 380 )10 = (? )8421BCD
解,( 380 )10 = ( 0011 1000 0000 )8421BCD
(4)数制与 BCD码间的转换例 1,( 0110 0010 0000 )8421BCD = ( 620 )10
例 2,( 0001 0010 )8421BCD = (? )2
解,( 0001 0010 )8421BCD = ( 12 )10 = ( 1100 )2
17
(5) 8421 BCD的加减法运算
1)加法运算例 1,( 0010 )8421BCD + ( 0011 )8421BCD = (? )8421BCD
0010
﹢ 0011
0101
所以 ( 0010 )8421BCD+( 0011 )8421BCD=( 0101 )8421BCD
18
例 2,( 0001 )8421BCD + ( 1001 )8421BCD = (? )8421BCD
0001
﹢ 1001
1010
﹢ 0110
0001 0000
( 0001 )8421BCD+( 1001 )8421BCD=( 0001 0000 )8421BCD
所以非法码加 6修正
19
例 3,( 1000 )8421BCD + ( 1000 )8421BCD = (? )8421BCD
1000
﹢ 1000
1 0000
﹢ 0110
0001 0110
( 1000 )8421BCD+( 1000 )8421BCD=( 0001 0110 )8421BCD
所以个位产生进位加 6修正
20
结论:两个 8421BCD码相加,若相加结果中出现了 8421BCD码的非法码或在相加过程中,在 BCD
数位上出现了向高位的进位,则应对非法码及产生进位的代码进行“加 6(即二进制数 0110)修正”

21
2)减法运算例 1,( 0110 )8421BCD - ( 0001 )8421BCD = (? )8421BCD
0110
- 0001
0101
( 0110 )8421BCD- ( 0001 )8421BCD=( 0101 )8421BCD
所以
22
例 2,( 0001 0000 )8421BCD - ( 0101 )8421BCD =
(? )8421BCD
0001 0000
- 0101
0000 1011
- 0110
0000 0101
( 0001 0000)8421BCD - ( 0101 )8421BCD =
( 0101 )8421BCD
个位产生借位减 6修正
23
结论:两个 8421BCD码相减,若相减过程中,在
BCD数位上出现了向高位的借位,则应对产生借位的代码进行“减 6(即二进制数 0110)修正”。