第一章 数制与编码
1.1内容提要及学习指导
一.数制及其表示
任意的数N都能表示为R为基数的R进制数。
n?1(N)R?(kn?1kn?2?k1k0.k?1k?2?k?m)R??ki??miiR
表示各个位的数字符号,为0~(R-1)数码中的任意一个,R为进位制的基数,n位整数部分的位数,m为小树部分的位数。 二.数制转换
1.十进制数转换为二进制数:把二进制数按权展开,即可得到相应的十进制数。 2.十进制数转为二进制数:整数部分采用“除2取余”转换,小数部分采用“乘2取整”法进行转换。
重点提示:上述转换方式可广到十进制与其他进制的转换,即“除基取余法”和“乘积取整法”。
3.二进制与八进制数,十六进制的转换。 三.带符号数的代码表示
1.真值与机器数(原码、反码、补码) 2.机器数的加、减运算 重点提示:重点是补码的运算规则
[N1?N2]补?[N1]补?[N2]补 [N1?N2]补?[N1]补?[N2]补
四.码制和字符的代码表示
1.BCD码(8421码、2421码、5211码、余3循环码) 2.可靠性编码(格雷码、奇偶校验码)
重点提示:需要重点掌握的是8421BCD吗、奇偶校验码和ASCII码)
1.2 例题与解题指导
例1把下列的数字写成按权展开的形式
(1) (101.11)2 (2)(473.62)8 (3) (3B.8F)16 解:根据常见的十进制数的表示方法,很容易写出其它进制数的按权展开形式 (1)(101.11)2?1?2?0?2?1?2?1?2210?1?1?2?2
210?1?2(3)(473.62)8?4?8?7?8?3?8?6?8?2?8
10?1?2(3)(3B.8F)16?3?16?11?16?8?16?15?16
例1.2 将下列十进制数转换为二进制数 (1)(173)10 (2)(0.8125)10
解:十进制数转换为二进制数时,整数部分和小数部分分别用“除2取余法”和“乘2取整法”转换,最后再合并在一起。 (1)
(173)10?(10101101)
(2) (0.8125)10?(0.1101)2
要点:十进制小数转换为二进制小数时,有时不能用有限位二进制数表示,一般按精度要求取相应位数即可。
例1.3将下列BCD码转换为十进制数
(1)(001001110100)8421BCD (2)(010011001000)余3BCD 解:根据BCD码的编码规则,每四位二进制数码对应一位十进制数。 (1)(001001110100)8421BCD?(274)10
(2)(010011001000)余3BCD?(495)10
要点:BCD码是十进制的二进制编码而不是数,编码和数是不同的概念 1.3习题选解 题1.1(略) 题1.2(略) 题1.3(略) 题1.4(略) 题1.5(略)
题1.6将下列十进制数转换为三位8421BCD码、2421BCD码和余3码。 (1) (537)10 (2) (289)10 (3) (632)10 (4) (457)10 解:(1)
(537)10?(0101001101?(100001101011)8421BCD?(101100111110)余3BCD01)2421BCD
(2)
(289)10?(0010100010?(010110111101)8421BCD?(001011101100)余3BCD11)2421BCD
(3)
(632)10?(0110001100?(100101100110)8421BCD?(110000110001)余3BCD10)2421BCD
(4