第一章 数制与编码
§ 1 进位计数制
§ 2 数制转换
§ 3 带符号数的代码表示
§ 4 常用的一般编码学习要求
§ 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
权值一般用十进制表示二进制数的特点,
只有两个数码,很容易用物理器件来实现。
运算规则简单。
可使用逻辑代数这一数学工具。
节省设备 (?)
例:如需表示数字 0~ 999,共有 1000个信息量。
十进制:用 3位,每位 10个数字,共需 30个数字设备。
二进制:用 10位,每位 2个数字,共需 20个数字设备。
⒉ 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所列各进制对应值要求熟记。
几种常用数制的表示方法 ( P5)
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
16 10000 20 10
§ 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
乘不尽咋办?? 满足精度要求为止三、混合法 (α → 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;
⑶符号不参与运算;
⑷数值范围

1 0 0 0 0
0 0 0 0 0
]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[ =反
X1=- 1101 [X1]反 =10010
[[X1]反 ]反 = 11101= [X1]原
⑴ 正数的反码同原码,
负数的反码数值按位取反;
⑵有 2个 0;
⑶反码的反码为原码;
⑷数值范围




0X; - 2 X)12(
2X;0 X]X[
n1n
n
=反
⒉ 特点 (续 )
⑸ 两数和的反码等于两数反码之和;
⑹符号位参与运算,有进位时循环相加 。
例,已知 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]原
[- 2n]补 = 2n
[- 24]补 =10000
⒉ 特点 (续 )
⑸ 两数和的补码等于两数补码之和;
⑹符号位参与运算,有进位时丢弃 。
例,已知 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(mod16) =1 (mod16)
在某一模数系统中,模数为 N,如果 a,b的余数相同,
则称 a,b模 N同余。例,17和 33在模 16系统中同余 1。
同余的两数,在同一模数系统中值相等,即为余数。
同余,
模,
1.概念
2.补码的应用:变减为加一般而言:⑴在模 N的系统中,数 L与 N - L是一对互补的数。
[L]补数 =N+L ; -(N- 1) L < 0?
特例情况:如 N=2n,即在二进制中,负数 L补码的数值为
[L]补 = 2n+ L,求取形式上可归纳为:取反加 1。
12
39
6
●?


例:钟表为模 12的系统。
顺时针,+;逆时针,-由 12点拨到 3点:
1) 12+3=15,15(mod12) =3
2) 12-9=3,3(mod12) =3
则,[12-9](mod12)=[12+3](mod12)=3
即减 9等于加 3,在 mod12系统中 3是- 9的补码 (仅考虑数值位 ),
所以利用补码特点可把减法变成加法运算。
⑵ 当 L为负数时,
§ 4 常用的一般编码一、二 ~ 十进制编码二、可靠性编码现实生活中,对事物进行编码的示例很多,如:
学号、身份证号、电话号码、房间号、汽车牌号等等。主要以十进制数为主,也有字母和文字。
在数字系统里,往往也需要对被控对象进行编码,或者对传递的信息进行编码。数字系统中的编码以二进制数形式出现,常用的编码有:
一、二 ~ 十进制编码
BCD码 ------Binary-Coded-Decimal
用 四位 二进制数表示 一位 十进制数码( 0~9),
称为 BCD码 。
四位二进制有 16种不同的组合,任意取其中的 10
中组合来代表数码 0~ 9,即形成一种 BCD码,不同的组合便形成了各种各样的 BCD编码。
BCD码主要有,8421码,5421码,2421码、余 3
码等。
0000
0001
0010
0011
0110
01111000
1001
1010
1011
1101
11101111
0101
1100
0100
0
1
2
3
6
78
9
10
11
13
1415
5
12
4
0
1
2
3
5
7
89
6
4
0
1
2
3
5
6
7
8
9
4
0
3
45
6
7
8
2
9
1
0
1
2
3
6
78
5
4
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码 0000
0001
0010
0011
0110
01111000
1001
1010
1011
1101
11101111
0101
1100
0100
0
1
2
3
6
78
5
4
9
二进制数 8421码
⑵ 与自然二进制数排列一至,
1010~ 1111为冗余码;
⑶ 8421码与十进制的转换关系为直接转换关系例,( 0001 0011.0110 0100)8421BCD=(13.64)10
⑴ 有权码,从左到右为 8 4 2 1;
8421码的特点,
⒉ 2421 BCD码简称 2421码。典型 2421码按 4位二进制数的自然顺序,取前后各 5个数依次表示十进制的 0~ 9,其余 6个数不允许出现,若出现则认为是非法的或错误的。这只是 2421码的 一种 编码方案。
2421码是一种有权码,每位有固定的权,
从高到低依次为 2,4,2,1,如,
0000
0001
0010
0011
0110
01111000
1001
1010
1011
1101
11101111
0101
1100
0100
二进制数 2421码
0
1
2
3
5
7
89
6
4
2421码 (0100)2421 =0?2+1?4+0?2+0?1=4
2421码 (1110 )2421 =1?2+1?4+1?2+0?1=8
2421码的编码方案:
代码 方案 1 方案 2
0 0000 0000
1 0001 0001
2 0010 1000
3 0011 1001
4 0100 1010
5 1011 0101
6 1100 0110
7 1101 0111
8 1110 1110
9 1111 1111
对九自补特点,
⒊ 余 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
0110
0111
1000
1001
1010
1011
1101
1110
1111
0101
1100
0100
0
3
4
5
6
7
8
2
9
1
数码 余三码中间
10
个码由 8421码加 3形成。
0000
0001
0010
0011
0110
01111000
1001
1010
1011
1101
11101111
0101
1100
0100
0
1
2
3
6
78
9
10
11
13
1415
5
12
4
0
1
2
3
5
7
89
6
4
0
1
2
3
5
6
7
8
9
4
0
3
45
6
7
8
2
9
1
0
1
2
3
6
78
5
4
9
二进制数 自然码 8421码 2421码 5421码 余三码前
10
个码前后各
5
个码中间
10
个码二、可靠性编码 (自 学 )
能减少错误,发现错误,甚至纠正错误的编码称为可靠性编码。
纠错的三个层次编码本身不易出错 → 格雷码出错能检查出来 → 奇偶校验码检查并能纠错 → 汉明码纠错是以增加硬件为代价的总结:
各进位计数制间的相互转换。
原码、反码、补码的相关概念。
8421BCD码,5421BCD码,2421BCD码、
余 3码。
作业,
P23
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
节省设备的说明,
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