第一章 数制与编码主要内容
⒈各种进位计数制及其相互转换
⒉带符号数的表示方法
⒊常用的一般编码
§ 1 进位计数制一,十进制数的表示
⒈ 数码个数 10个:
计数规律,
数 制,
进位计数制:
0,1,2,3,4,5,6,7,8,9
逢十进 1,借一当 10
数码的个数和计数规律是进位计数制的两个决定因素计数体制、计数方法。
高位进位,本位归 0。
例,123.45=1?102+2?101+3?100+4?10-1+5?10-2
例,123.45 读作 一百二十三点四五
⒉ 计数法例,读作 一百二十三点四五例,
位置计数法
按权展开式
按权展开通式
和式
(N)10 = an-1?10n-1+an-2?10n-2 +…+ a1?101+a0?100
+a-1? 10-1+a-2?10-2+…+ a-m?10-m
i
i
n
mi
aN 10)(
1
10

⒊ 基与基数用来表示数的数码的集合称为基( 0— 9),集合的大小称为基数 (十进制为 10)。
即表示某种进位计数制所具有的数字符号的个数称为 基数,也叫 模。
在十进制中,10的整幂次方称为 10进制数的权。
即表示某种进位计数制不同位置上数字的 单位值,
位置不同显示的数值大小不同。
123.45=1?102+2?101+3?100+4?10-1+5?10-2
数位不同,权值不同。
⒋ 权例,
二,其它进制其它进制的计数规律可看成是十进制计数制的推广,对任意进制 R,数 N可以表示成按权展开式:
(N)R = an-1?R n-1+an-2?R n-2 +…+ a1?R1+a0?R0
+a-1? R-1+a-2?R-2+…+ a-m?R-m
i
i
n
mi
Ra

1
(N) R=(an-1 an-2 … a1 a0,a-1 a-2… a-m)R
权值一般用十进制表示
⒈ R= 2 二进制数码个数 2个:
计数规律,
例:
0,1
逢二进 1,借一当 2
(11011.01)2 = 1?24+1?23 +0?22+1?21+1?20 +0?2-1 +1?2-2
= 1?(10)100+1?(10)11 +0?(10)10+1?(10)1+1?(10)0
+ 0?(10)-1 +1?(10)-10
权值一般用十进制表示二进制数的特点,
只有两个数码,很容易用物理器件来实现。
运算规则简单。
可使用逻辑代数这一数学工具。
节省设备节省设备的说明,
1)设 n是数的位数
R是基数
Rn-----最大信息量
nR-----Rn个数码所需设备量例,n=3,R=10,(R)10n=103=1000 nR=3× 10=30
R=2时,为使 2n≥1000 n=10 ( Rn=1024),nR=10× 2=20
同样为 1000的信息量,二进制比十进制节省设备。
2)唯一性证明
N=Rn( N为最大信息量) LnN=nLnR 令 C=LnN C=nLnR
两边同乘 R,RC=nRLnR
可求得,R=e=2.718
⒉ R= 8 八进制数码个数 8个:
计数规律,
例:
0,1,2,3,4,5,6,7
逢八进 1,借一当 8
(176.5)8 = 1?82+7?81 +6?80 +5?8-1
= 1?(10)2+7?(10)1 +6?(10)0+5?(10)-1
⒊ R= 16 十六 八进制数码个数 16个:
计数规律,
例:
⒋ 其它进制
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
(0 … … … 10 … … 15)
逢十六进 1,借一当 16
(FA1.C)16 = F?162+A?161 +1?160 +C?16-1
= F?(10)2+A?(10)1 +1?(10)0+C?(10)-1
如六进制、十二进制、二十四进制、六十进制等。
书 P5 表 1.1.1所列各进制对应值要求熟记。
几种常用数制的表示方法:
R= 10 二进制 八进制 十六进制
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
§ 2 数制转换说明:
⒈ 转换是任意的。
⒉ 方法:多项式替代法基数乘除法混合法直接转换法
α→10
10→ α
α → 10→ β
α= βK,α K = β
一、多项式替代法 ( R→10 )
(11011.11)2 = ( )10
=1?24+1?23 +0?22+1?21+1?20 +1?2-1 +1?2-2
16 8 0 2 1 0.5 0.25
=(27.75)10
(321.4)8 = ( )10
=3?82+2?81+1?80 +4?8-1
192 16 1 0.5
=(209.5)10
例 1:
例 2:
二、基数乘除法 ( 10 → R )
⒈ 整数的转换 ——基数除法规则,除基取余,商零为止例 1:
解:
例 2:
解:
(25) 10 = ( ) 2
(25) 10 = (11001 ) 2
(54) 10 = ( ) 16
(54) 10 = ( 36 ) 16
⒉ 小数的转换 ——基数乘法规则,乘基取整,满足精度要求为止例 3:
例 4:
解:
例 5:
解:
(0.125) 10 = ( ) 2
(0.125) 10 = (0.001 ) 2,(0.125) 10 = ( 0.02) 4
(0.125) 10 = ( ) 4
(29.93) 10 = ( ) 2
(29.93) 10 = ( 11101.111011) 2
⒊ 小数的精度若求出的是 有 限位小数,标明已求出准确的转换小数;
若求出的是 无 限位小数,标明转换出的小数存在误差。
取数原则:
⑴ 等精度转换
⑴ 等精度转换; ⑵按题意要求设 α进制有 i位小数,转换后 β进制有 j位小数。
(0.0…01) α= (1× α-i)10 (0.0…01) β = (1× β-j)10
α位 β位
⑴ 等精度转换 (续 )
转换后应使,1× β-j ≤1× α-I
即 αI ≤ βj
故 取满足不等式的最小整数
lg
lgij?
例,(0.3021)10→( ) 16,已知精度为 ± (0.1) 410
解,α= 10,β= 16,I= 4
32.3
16lg
10lg4j
取 j=4
⑵ 按题意要求例,(0.3021)10→( ) 2,要求精度 0.1%
解,
例,(0.3021)10→( ) 8,要求精度 0.01%
解,
102
1
1 0 0 0
1%1.0 ∴ 取 j=10
58
1
1 0 0 0 0
1%01.0 ∴ 取 j=5
三、混合法 (α → 10→ β)
(N)α → → → → (N) 10 → → → → (N) β
多项式替代法 基数乘除法例,(2022)3→( ) 8
解,
(2022)3 =2?33 +0?32+2?31+2?30 = (62)10= (76)8
四、直接转换法 (α= βK,α K = β)
一般在二、八、十六进制之间转换
⒈ 八进制与二进制之间的转换:
(10011100101101001000.01)B=
(010 011 100 101 101 001 000.010)B =
( )O01554
=(2345510.2)O
32 2
从小数点开始
3位一组不足补 0不足补
0
⒉ 十六进制与二进制之间的转换:
(10011100101101001000.01)B=
(1001 1100 1011 0100 1000.0100)B =
( )H84BC9
=( 9CB48.4 ) H
不足补 0
从小数点开始
4位一组
4
反之,
(345.7)O =( ) B
(345.7)O =(011 100 101.111 ) B
1位八进制对应
3位二进制
(27B.7C)H =( ) B
(27B.7C)H =(0010 0111 1011.0111 1100 ) B
1位十六进制对应 4位二进制
=(10 0111 1011.0111 11 ) B
0可去掉
§ 3 带符号数的代码表示一、符号数
⒈ 真值:在数值前加“+”号表示正数;
在数值前加“-”号表示负数。
⒉机器数:把符号数值化的表示方法称~。
用,0”表示正数,用,1”表示负数。
例,真值 机器数
+ 9 + 1001 01001
- 9 - 1001 11001
符号位二、原码常用的机器数有,原码、反码、补码其符号位规则相同,数值部分的表示形式有差异。
⒈ 组成,
⒉ 特点:
符号位+数值位正 → 0 不变负 → 1
例:
X1=+ 1101 [X1]原 =01101
X2=- 1101 [X2]原 =11101
⑴ 直观易辨认;
⑵有 2个 0;
⑶符号不参与运算;
⑷数值范围

10000
00000
]0[ =原




0X; - 2 X2
2X;0 X]X[
nn
n
=原三、反码
⒈ 组成,
⒉ 特点:
符号位+数值位正 → 0 不变负 → 1 取反例:
X1=+ 1101 [X1]反 =01101
X2=- 1101 [X2]反 =10010

1 1 1 1 1
0 0 0 0 0
]0[ =反
⑴ 正数的反码同原码,
负数的反码数值按位取反;
⑵有 2个 0;
⑶反码的反码为原码;
⑷数值范围




0X; - 2 X)12(
2X;0 X]X[
n1n
n
=原
X1=- 1101 [X1]反 =10010
[[X1]反 ]反 = 11101= [X1]原
⒉ 特点 (续 )
⑸ 两数和的反码等于两数反码之和;
⑹符号位参与运算,有进位时循环相加 。
例,已知 X1= 1100 X2= 1010
求 Y1= X1- X2 ; Y2= X2- X1
解,[X1]反 =01100,[- X1]反 =10011,
[X2]反 =01010,[- X2]反 =10101
[Y1]反 = [X1]反 + [- X2]反 = 00010 → Y1 =+ 0010
0 1 0 1 0
+ 1 0 0 1 1
1 1 1 0 1
0 1 1 0 0
+ 1 0 1 0 1
1 0 0 0 0 1
+ 1
0 0 0 1 0
循环相加
[Y2]反 = [X2]反 + [- X1]反 = 11101 → Y2 =- 0010
四、补码
⒈ 组成,
⒉ 特点:
符号位+数值位正 → 0 不变负 → 1 取反+ 1
例:
X1=+ 1101 [X1]补 =01101
X2=- 1101 [X2]补 =10011

00000111111
00000
]0[ =补
⑴ 正数的补码同原码,
负数的补码数值按位取反+ 1;
⑵只有 1个 0;
⑶补码的补码为原码;
⑷数值范围




0; - 2 2
2X;0 ][
n1
n
XX
XX
n=补
X1=- 1101 [X1]补 =10011
[[X1]补 ]补 = 11101= [X1]原
⒉ 特点 (续 )
⑸ 两数和的补码等于两数补码之和;
⑹符号位参与运算,有进位时丢弃 。
例,已知 X1= 1100 X2= 1010
求 Y1= X1- X2 ; Y2= X2- X1
解,[X1]补 =01100,[- X1]补 =10100,
[X2]补 =01010,[- X2]补 =10110
[Y1]补 = [X1]补 + [- X2]补 = 00010 → Y1 =+ 0010
0 1 0 1 0
+ 1 0 1 0 0
1 1 1 1 0
0 1 1 0 0
+ 1 0 1 1 0
1 0 0 0 1 0
进位丢弃
[Y2]补 = [X2]补 + [- X1]补 = 11110 → Y2 =- 0010
补码的补充说明:
数学上,补码与其真值构成了以某一值(计算机的字长)为模的“模数系统”或“同余”结构的代数系统。 计量器的容量。
例:计算机的字长为 L,模数为 2L。
1 0 0 1 9
+ 1 0 0 0 8
1 0 0 0 1 17丢弃在模 16的系统中,
17=1 ( mod16)。
在某一模数系统中,模数为 N,如果 a,b的余数相同,则称 a,b模 N同余。例,17和 33
在模 16系统中同余 1。
同余,
模,
补码的应用:
在模 N的系统中,数 L与 N - L是一对互补的数,
利用其特点可把减法变成加法运算。
[L]补 =N+L -(N- 1) L < 0? 如 N=2
n
则为取反加 1
例:钟表为模 12的系统。
顺时针,+;逆时针,-
由 12点拨到 3点:
1) 12+3=15=15-12=3( mod12)
2) 12-9=3
12+( 12-9) =3( mod12)
则,12-9=12+3=3
12
39
6
●?


§ 4 编码一、二 ~ 十进制编码数字电路中编码的方式很多,常用的主要是二 — 十进制码( BCD码)。
BCD------Binary-Coded-Decimal
用四位二进制数表示 0~9十个数码,即为 BCD
码 。四位二进制数最多可以有 16种不同组合,不同的组合便形成了一种编码。主要有,8421码、
5421码,2421码、余 3码等
0000
0001
0010
0011
01100111
1000
1001
10101011
11011110
1111
0101
1100
0100
0
1
2
3
67
8
9
1011
1314
15
5
12
4
0
1
2
3
5
78
9
6
4
0
1
2
3
5
6
78
9
4 0
34
5
6
78
2
9
1
0
1
2
3
67
8
54
9
二进制数 自然码 8421码 2421码 5421码 余三码前
10
个码前后各
5
个码中间
10
个码简称 8421码。按 4位二进制数的自然顺序,
取前十个数依次表示十进制的 0~ 9,后 6个数不允许出现,若出现则认为是非法的或错误的。
8421码是一种有权码,每位有固定的权,
从高到低依次为 8,4,2,1,如,
8421码 (0111) 8421BCD =0?8+1?4+1?2+1?1=7
⒈ 8421 BCD码
⑵ 与自然二进制数排列一至,
1010~ 1111为冗余码;
⑶ 8421码与十进制的转换关系为直接转换关系例,( 0001 0011.0110 0100)8421BCD=(13.64)10
⑷ 运算时按逢 10进 1的原则,并且要进行调整。
调整原则,有进位或出现冗余码时,加 +6调整。
⑴ 有权码,从左到右为 8 4 2 1;
8421码的特点,
例,8+9=17
1 0 0 0
+) 1 0 0 1
1 0 0 0 1有进位+ 6
+) 0 1 1 0
0 1 1 1
例,7+6=13
0 1 1 1
+) 0 1 1 0
1 1 0 1
+) 0 1 1 0
1 0 0 1 1丢弃
8421码运算举例,
冗余码+ 6
⒉ 2421 BCD码简称 2421码。典型 2421码按 4位二进制数的自然顺序,取前 8个数依次表示十进制的 0~ 7,8和 9
分别为 1110和 1111。其余 6个数不允许出现,若出现则认为是非法的或错误的。这只是 2421码的 一种 编码方案。
2421码是一种有权码,每位有固定的权,
从高到低依次为 2,4,2,1,如,
2421码 (0111)2421=0?2+1?4+1?2+1?1=7
2421码 (1110 )2421 =1?2+1?4+1?2+0?1=8
2421码的编码方案:
代码 方案 1 方案 2 方案 3/4
0 0000 0000 0000
1 0001 0001 0001
2 0010 1000 0010/1000
3 0011 1001 0011/1001
4 0100 1010 0100/1010
5 0101 1011 1011/0101
6 0110 1100 1100/0110
7 0111 1101 1101/0111
8 1110 1110 1110
9 1111 1111 1111
对九自补
⒊ 余 3码由 8421码加 3形成。
4)如果两个余 3码相加没有进位,
则和数要减 3,否则和数要加 3。
1)是一种无权码。
2)有六个冗余码。
( 0000,0001,0010,1101,1110,1111)
3)对 9的自补码。
例,(4)余 3码 =0111; (5)余 3码 =1000
(0111)9补 =1000 即 0111按位取反。
0000
0001
0010
0011
01100111
1000
1001
10101011
11011110
1111
0101
1100
01000
34
5
6
78
2
9
1
数码 余三码中间
10
个码
0 1 0 0
+ ) 0 1 1 0
1 0 1 0
- ) 0 0 1 1
0 1 1 1
例如,0100+0110=0111
1 0 0 0
+ ) 1 0 0 1
1 0 0 0 1
+) 0 0 1 1
1 0 1 0 0
1000+1001= 0100
余 3码运算丢弃无进位减 3
有进位加 3
0000
0001
0010
0011
01100111
1000
1001
10101011
11011110
1111
0101
1100
0100
0
1
2
3
67
8
9
1011
1314
15
5
12
4
0
1
2
3
5
78
9
6
4
0
1
2
3
5
6
78
9
4 0
34
5
6
78
2
9
1
0
1
2
3
67
8
54
9
二进制数 自然码 8421码 2421码 5421码 余三码前
10
个码前后各
5
个码中间
10
个码二、可靠性编码能减少错误,发现错误,甚至纠正错误的编码称为可靠性编码。
纠错的三个层次编码本身不易出错 → 格雷码出错能检查出来 → 奇偶校验码检查并能纠错 → 汉明码纠错是以增加硬件为代价的
⒈ 格雷码在一组数的编码中,如果任意相邻的代码只有一位二进制数不同,即为格雷码。
典型二进制格雷码编码规则:
11 nn BG
1 iii BBG
( 1 1 0 1)B例,13的格雷码:
1
0
1
1
=(1 0 1 1 )G
格雷码的特点:
十进制 二进制 GREY1
0 0000 0 0 0 0
1 0001 0 0 0 1
2 0010 0 0 1 1
3 0011 0 0 1 0
4 0100 0 1 1 0
5 0101 0 1 1 1
6 0110 0 1 0 1
7 0111 0 1 0 0
8 1000 1 1 0 0
9 1001 1 1 0 1
10 1010 1 1 1 1
11 1011 1 1 1 0
12 1100 1 0 1 0
13 1101 1 0 1 1
14 1110 1 0 0 1
15 1111 1 0 0 0
⒈ 汉明距离= 1
⒉ 循环特性
n一定时最大数的第 n位为 1,其余各位为 0 。
⒊ 具有反射特性第 n位为反射位,以第 n位的 0,1交界处为轴上下对称。
⒋ 一个 n位的格雷码,可由 n-
1位格雷码产生。
方法:在 n- 1位码前加 0,再作对称镜像。
例:
十进制 二进制 GREY1 步进码 GREY2
0 0000 0000 00000 0000
1 0001 0001 00001 0001
2 0010 0011 00011 0011
3 0011 0010 00111 0010
4 0100 0110 01111 0110
5 0101 0111 11111 1110
6 0110 0101 11110 1010
7 0111 0100 11100 1011
8 1000 1100 11000 1001
9 1001 1101 10000 1000
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
反射循环格雷码应用:
循环计数
11 nn GB
iii GBB 1
例,7的典型格雷码为 0100
典型二进制格雷码转换成二进制数的方法:
( 0 1 0 0)G
0
1
=(0 1 1 1 )B
1
1
步进码的形成:
例:由 7的步进码,11100 ;
产生 8的步进码,11000
左移一位
“7”步进码 00111
1 0011 取反
0
00011“8”步进码
⒉ 奇偶校验码
⑴ 组成,信息位+校验位( 1位)=奇偶校验码码中,1的个数为 奇 数 → 奇校验码1的个数为 偶 数 → 偶校验码由信息位和校验位 (冗余部分 )两部分组成。校验位的取值可使整个校验码中的
1的个数按事先的规完成为奇数或偶数。
⑵ 简单的奇偶校验码,数码 信息位 校验位 奇校验码 偶校验码
8421BCD 奇 偶
0 0000 1 0 00001 00000
1 0001 0 1 00010 00011
2 0010 0 1 00100 00101
3 0011 1 0
4 0100 0 1
5 0101 1 0
6 0110 1 0
7 0111 0 1
8 1000 0 1 10000 10001
9 1001 1 0 10011 10010
… …… …
奇校验位,
P= B8 B4 B2 B1 1
偶校验位,
P= B8 B4 B2 B1
以 8421BCD码为例
⑶ 检错只能检出单个错误或奇数个错,但不能纠错。
校验,
P’= B8 B4 B2 B1 P
奇校验,P’= 1 正确偶校验,P’= 0 正确例,奇校验传送 1001:
解,校验位 P=1,奇校验码为,10011
正确传送时,
P’= B8 B4 B2 B1 P =1 0 0 1 1=1
不正确传送时,设接收码为 10111
P’= B8 B4 B2 B1 P =1 0 1 1 1=0 出错
⒊ 汉明码可以检验一位错误并且可以自行纠错的可靠性编码。
(自 学 )
学习要求:
熟练掌握各进位计数制间的相互转换
熟练掌握一个数原码、反码、补码的表示,以及原码、反码、补码的算术运算。
掌握 8421BCD码、余 3码、格雷码、奇偶校验码的特点。
作业,
P24
1-1(1),1 - 2(1),1 -3(1),1 -4(1),1 -5(1)
1 –13,1 –16 (1) (3)
思考题
1-9
本章完 !
例 1 转换过程:
余2 25 1
122 余 0
62 余 0
3
2 余 1
0
∴ (25)10=(11001)2
低位高位
2 余 1
1
(25) 10 = ( ) 2
余16 54 6
316 余 3
0
∴ (54)10=(36)16
低位高位例 2 转换过程,(54) 10 = ( ) 16
例 3 转换过程,例 4 转换过程:
0.125
× 2
0,25
× 2
0,5
× 2
1,0低位高位
∴ (0.125) 10 = (0.001 ) 2
0.125
× 4
0,5
× 4
2,0低位高位
∴ (0.125) 10 = (0.02 ) 4
(0.125) 10 = ( ) 2 (0.125) 10 = ( ) 4
例 5 转换过程:
余2 29 1
142? 余 0
72? 余 1
3
2? 余 1
0
∴ (29.93)10=(11101.11101)2
2? 余 1
1
低位高位
0.93
× 2
1,8 6
× 2
1,7 2
× 2
1,4 4
低位高位
× 2
0,8 8× 2
1,7 6
(29.93) 10 = ( ) 2