数字逻辑第一章_第1页
数字逻辑第一章_第2页
数字逻辑第一章_第3页
数字逻辑第一章_第4页
数字逻辑第一章_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章第一章 数制和编码数制和编码 1.1 进位计数制进位计数制 1.2 各种进位计数制的相互转换各种进位计数制的相互转换 1.3 带符号数的代码表示带符号数的代码表示 1.4 带符号数的加减法带符号数的加减法 1.5 十进制数的常用代码十进制数的常用代码 1.6 可靠性编码可靠性编码Number Systems and Codes如:如:1. 在日常计算中通常采用的是在日常计算中通常采用的是十进制十进制计数制,计数计数制,计数规则规则“逢十进一逢十进一”, 例:例:0,1,2,3,4,5,6,7,8,9,10,11, 12,99,100, ,; 所谓所谓“数制数制”,即各种进位计数制,即各种

2、进位计数制 ( Positional number system ) 。第一章第一章 数制与编码数制与编码2. 在计算机中多用的是在计算机中多用的是二二进制进制计数制,因为物理器计数制,因为物理器件的输入、输出信号是用逻辑电平的两个状态件的输入、输出信号是用逻辑电平的两个状态0、1表示,表示,例:例:0,1,10,11,100,101,110,;它是;它是“逢二进一逢二进一”;4. 表示时间的表示时间的“时分秒时分秒”,其计数规则采用的是,其计数规则采用的是六十进六十进制制, 例:例:1分分= 60秒秒, 1小时小时= 60分分, ;5. 计件单位计件单位“打打”或长度单位或长度单位“英寸英寸

3、”用的是用的是十二进制十二进制;等等。等等。又例:又例:“日时日时”用的是用的是二十四进制二十四进制, “年月年月”用的是用的是十二十二进制进制,等;,等;3. 表示重量可以采用表示重量可以采用十进制十进制或或十六进制十六进制,例:,例: “半斤半斤八两八两”;1. 特点特点 : 10个、有序的数字符号:个、有序的数字符号:0,1,2,3,4,5,6,7,8,9 要点:要点:系统讨论各种进位计数制的系统讨论各种进位计数制的特点特点、表示法表示法和和相互转换相互转换。例:十进制数例:十进制数 1 2 4 6 3 8 5 3 4 5 . 6 7 8 0 91其中:其中:“十十” 为为进位基数进位基

4、数(Base / Radix),简称,简称基数基数( R )。 “逢十进一逢十进一”的计数规则的计数规则 小数点符号:小数点符号:“.”1.1 进位计数制进位计数制2. 表示法表示法 :并列表示法:并列表示法 Positional Notation 多项式表示法多项式表示法 Polynomial Notation例:十进制数例:十进制数 1 2 3 4 5 . 6 7 8 0 9 1104 103 102 101 100 10-1 10-2 10-3 10-4 10-5 10-6如上所示,处在不同如上所示,处在不同位置位置的数字具有不同的的数字具有不同的“权权(Weight)”,并列计数法并列

5、计数法,也称,也称位置表示法位置表示法。万万 千千 百百 十十 个个位位 位位 位位 位位 位位小数点小数点十十 百百 千千 万万 十万十万 百万百万分分 分分 分分 分分 分分 分分位位 位位 位位 位位 位位 位位 并列表示法并列表示法将并列式按将并列式按“权权” 展开为展开为按权展开式按权展开式,称为多项式表示法。,称为多项式表示法。如下例:如下例: 多项式表示法多项式表示法12345.67809 = 1104 + 2103 + 3102 + 4101 + 510 0 + 610-1 + 710-2 + 810-3 + 0 10-4 + 910 - 5由此推出,任意一个十进制数由此推出,

6、任意一个十进制数 N 可以表示成:可以表示成: 并列表示法:并列表示法:( N)10= ( K n-1 K n-2 K 1 K 0 . K -1 K -2 K -m ) 10 ( 0 K i 9 ) ( N )10 = ( K n-110 n-1 + K n-210 n-2 + + K 110 1 + K 0 10 0 + K -110 -1 + K -210 -2 + + K -m 10 -m ) 10 = K i 10 i ( 0 K i 9 ) 多项式表示法多项式表示法n-1i= -m对于一个任意进制对于一个任意进制 R 的数的数 N,有,有 : 特点:特点:1. R个有序个有序的数字符

7、号:的数字符号:0、1、 、R-1 ; 2. 小数点小数点符号:符号:“.” 3. “逢逢R进一进一”的计数规则的计数规则 其中:其中:“R” 为为进位基数进位基数(Base / Radix)或或基数基数。例:例: R=2,二进制,数字符号有,二进制,数字符号有0、1,逢二进一;,逢二进一; R=3,三进制,数字符号有,三进制,数字符号有0、1、2,逢三进一;,逢三进一; R=8,八进制,数字符号有,八进制,数字符号有0,1,2,3,4,5,6,7,逢八进一;,逢八进一; R=16,十六进制,数字符号有,十六进制,数字符号有0,1,2,3,4,5,6,7,8,9,A,B,C,D, E, F(必

8、须用单字符表示必须用单字符表示),逢十六进一;,逢十六进一; 表示法表示法 并列表示法并列表示法 (N)R=(A n-1 A n-2 A1 A 0 .A -1 A -2 A -m ) R (0A iR-1) 多项式表示法多项式表示法( N )R = ( A n-110 n-1 + A n-210 n-2 + + A 110 1 + A 010 0 + A -110 -1 + +A-m10 -m ) R i = -mn -1= ( A i 10 i ) R (其中:其中: n 整数位数,整数位数, m 小数位数小数位数 ,0A iR-1, R为进位基数为进位基数 )当当R=10时,则时,则括号及

9、括号外的基数括号及括号外的基数R可以省略。可以省略。例例:(1010)2 = (110 11 + 010 10 + 110 1+ 010 0 ) 2 (1212) 3 = (110 10 + 210 2 + 110 1+ 210 0) 3 例例:(1010)2 = (11011+01010+1101+0100 ) 2 = 8+0+2+0 = 10 (1212)3 = (11010+2102+1101+2100) 3 = 27+18+3+2 = 50不同进位计数制的数值具有等值关系。不同进位计数制的数值具有等值关系。参见下表:R=10R=2R=3R=4R=8R=16012345678910111

10、21314151617011011100101110111100010011010101111001101111011111000010001012101112202122100101102110111112120121122012310111213202122233031323310010101234567101112131415161720210123456789ABCDEF1011二进制数为计算机内部运算的基础,应予以关注。二进制数为计算机内部运算的基础,应予以关注。 运算规则运算规则: 、 ( 、 运算可以由运算可以由+、 运算来实现)运算来实现) 加法加法规则:规则:0 + 0 =

11、0 0 + 1= 1+ 0 =1 1 + 1= 10 减法减法规则:规则:00 = 0 10 =1 11=0 101= 1(借位借位) 乘法乘法规则:规则:00 = 0 01=10 = 0 11= 1 除法除法规则规则 01= 0 11= 1 ( 0不能作除数不能作除数 )举例:举例: 1010 + 0110 = 10000 1010 0110 = 0100 101011 = 1010 + 10100 = 11110 乘法用加法实现乘法用加法实现 101010 = 101 除法用减法实现除法用减法实现 1010 1001够减,商够减,商 1 10不够减,商不够减,商 010 100够减,商够减

12、,商 1二进制数的运算二进制数的运算 常用的二进制常数要记住。书常用的二进制常数要记住。书P3 表表 1-2 (R=2) 。二进制数的单位:二进制数的单位:1位位二进制数二进制数 = 1b 1B = 8b1K = 210 1M = 220 1G = 230iRiiRiiRi-7-6-5-4-3-2-1 0.0078125 0.015625 0.03125 0.0625 0.125 0.25 0.50123456 1 248163264789101112131282565121024204840968192将等式右边将等式右边转换成十进转换成十进制符号制符号将等式右边将等式右边转换成十进转换成十

13、进制符号制符号1.2 进位计数制的相互转换进位计数制的相互转换 General Positional-number-system Conversions1.2.1 多项式替代法多项式替代法 Series Substitution例例1:将:将(1CE8)16转换为十进制。转换为十进制。数值转换:数值转换: (N) (N) 转换是按转换是按等值等值进行转换进行转换 = (116 3 +1216 2 + 1416 1 + 816 0 )10 = (4096 +3072 + 224 + 8)10 = (7400)10 = 7400 十进制的十进制的R可以省略可以省略(1CE8)16= (110 3

14、+C10 2 + E10 1 + 810 0 )16将将进制下的进制下的Ai、10 转换成转换成进制下的数进制下的数将将进制下的进制下的Ai、10 转换成转换成进制下的数进制下的数由上例可以了解多项式替代法的转换步骤,归纳如下,由上例可以了解多项式替代法的转换步骤,归纳如下, (N) = (A n-1 A n-2 A1 A 0 .A -1 A -2 A -m ) 注意:注意:多项式替代法是在多项式替代法是在进制下完成进制下完成 (N) 到到(N) 的转换的,因此,要求的转换的,因此,要求熟悉熟悉进制进制的算术运算规则。的算术运算规则。 = (A n-110 n-1 + A n-210 n-2

15、+ + A 110 1 + A 0 10 0+ A -110 -1 + A -210 -2 + +A-m10 -m ) = (A n-1n-1 + A n-2n-2 + + A 11 + A 00+ A -1-1 + A -2-2 + +A-m-m ) = (N) 例例2:将:将(121.2)3转换为二进制。转换为二进制。(121.2)3 = (1102 + 2101 + 1100 + 210-1 )3 = (11110 +10111 + 1110 + 1011-1 )2 = (1001 + 110 + 1 + 0.101010)2 = ( 10000.101010 )2 例例3:将:将(12

16、34) 10转换为十六进制。转换为十六进制。 (1234)10 = (110 3 + 210 2 + 310 1 + 410 0 )10 = (1A3 + 2A2 + 3A1 + 4A0 )16 = ( ? )16当当为任意进制为任意进制而而为十进制为十进制时,用此方法进行转换。而时,用此方法进行转换。而当当不为十进制不为十进制时,则不用此方法进行转换。时,则不用此方法进行转换。1.2.2 基数乘除法基数乘除法 Radix Multiply Divide Methed要点:要点: 在在进制下完成进制下完成(N) (N) 的转换的转换 整数部分转换用基数除法整数部分转换用基数除法 小数部分转换用

17、基数乘法小数部分转换用基数乘法将将bi、10转换成转换成进制下的数,则进制下的数,则设设: (N) = (N) = (b n-1b n-2 b1 b 0) (0bi-1)(N) = (bn-1n-1 + bn-2n-2 + + b11 + b00 ) (0bi-1) 1. 整数转换整数转换(基数除法基数除法) Radix Divide Methed= (bn-110n-1 + bn-210n-2 + + b1101 + b0100 ) 以下讨论在以下讨论在进制下进行:进制下进行:令:令:N= bn-1n-1 + bn-2n-2 + + b11 + b0N/= bn-1n-2 + bn-2n-3

18、 + + b10 + b0 /又又 0b 0 -1 得到得到第一个余数第一个余数b0第一个商第一个商等式两边同除以等式两边同除以,则,则则得到则得到第一个余第一个余数数 b0又令:又令:等式两边同除以等式两边同除以,则,则N1/= bn-1n-3 + bn-2n-4 + + b20 + b1 /同理得到同理得到又又 0b 1 1 第二个商第二个商第二个余第二个余数数 b1N1= bn-1n-2 + bn-2n-2 + b21 + b1 得到得到第二个余数第二个余数b1依次类推,依次类推,令:令:等式两边同除以等式两边同除以,则,则 Ni-1/= bn-1n-i-2 + bn-2n-i-3 +

19、+ bi0 + bi-1 / 第第 i 个商个商Ni-1= bn-1n-i-1 + bn-2n-i-2 + + bi1 + bi-1 得到得到第第i -1个个余数余数 bi-1 和和第第i个余数个余数bi直至直至,令,令 :等式两边再同除以等式两边再同除以,则,则则则 Nn-1= bn- 1 第第 n-1个商个商最后最后 令:令: Nn-1= bn- 1 此时此时商为零商为零,得到,得到第第n个个 余数余数 bn-1,则转换结束。,则转换结束。Nn-2= bn-1n-2 + bn-2这种方法也称为这种方法也称为“除基取余除基取余”。Nn-2 /= bn-1 0 + bn-2 /第第n-2个个余

20、数余数 bn-2 得到得到例例1 将十进制的将十进制的179 转换成二进制数。转换成二进制数。即即(179)10 = (10110011)2 1792 = 89 余余1(b0 ) 892 = 44 余余1( b1 ) 442 = 22 余余0( b2 ) 222 = 11 余余0( b3 ) 112 = 5 余余1( b4 ) 52 = 2 余余1( b5 ) 22 = 1 余余0( b6 ) 12 = 0 余余1( b7 )例例2 将十进制的将十进制的3417 转换成十六进制数。转换成十六进制数。即即(3417)10 = (D59)16 16 3417 余余9 (b0 )16 213 余余5

21、 (b1 )16 13 余余13 ( 即即D ) ( b2 )2. 小数转换小数转换(基数乘法基数乘法) Radix Multiply Methed(N) = (N) = ( 0 . C -1 C -2 C-m ) = (C-110 -1 + C-210 -2 + + C-m10 -m ) (0C i1)将将 bi、10转换成转换成进制下的数,则进制下的数,则(N) = ( C-1-1+C-2-2 +C-m-m ) (0C i1) 设设:以下讨论在以下讨论在进制下进行:进制下进行:令:令:N= C-1-1 + C-2-2 + + C-m-m等式两边同乘以等式两边同乘以,则,则N= C-1 +

22、C-2-1 + + C-m-m+1小数部分小数部分 0C i -1 整数部分的整数部分的第一位第一位 C-1 得到得到又令:又令:N1= C-2-1 + C-3-2 + + C-m-m+1等式两边同乘以等式两边同乘以,则,则N1= C-2 + C-3-1 + + C-m-m+2 小数部分小数部分整数部分的整数部分的第二位第二位 C-2 得到得到依次类推,依次类推, 又令:又令:等式两边同乘以等式两边同乘以,则,则Ni-1= C-i-1 + C-i-1-2 + + C-m-m+i-1 Ni-1= C-i + C-i-1-1 + + C-m-m+i 小数部分小数部分整数部分的整数部分的第第i位位

23、C-i 得到得到直至,令直至,令 :Nm-2= C-m+1-1 + C-m -2等式两边再同乘以等式两边再同乘以,则,则 Nm-2 = C-m+1 + C-m -1 则则 Nm-1 = C-m最后,令:最后,令: Nm-1= C-m - 1得到得到第第m位位 C-m,则转换结束。,则转换结束。 小数部分小数部分这种方法也称为这种方法也称为“乘基取整乘基取整”。整数部分的第整数部分的第m-1位位 C-m+1 得到得到例例3 将将 (0.375)10 转换成二进制数。转换成二进制数。0 . 3 7 5 20 . 7 5 0 C-1 = 0即即 (0.375)10 = (0.011)2 21 . 0

24、 0 0 C-3 = 1 21 . 5 0 0 C-2 = 1例例4 将将(0.4321)10转换成十六进制数。转换成十六进制数。N0 = 0.4321 N0 = 0.432116 = 6.9136 N1 = 0.9136 C-1 = 6 N1 = 0.913616 =14.6176 N2 = 0.6176 C-2 = 14(E) N2 = 0.617616 = 9.8816 N3 = 0.8816 C-3 = 9 N3 = 0.881616 =14.1056 N4 = 0.1056 C-4 = 14(E) 即即 (0.4321)10 (0.6E9E)16注意:注意:在转换中,若小数部分最终为

25、零,则表明此数是在转换中,若小数部分最终为零,则表明此数是准确转准确转换换;但若小数部分为循环小数或无限不循环小数,则表;但若小数部分为循环小数或无限不循环小数,则表明此数明此数不是准确转换不是准确转换,即,即转换有误差转换有误差。1. 若若熟悉熟悉进制(十进制)进制(十进制)的运算规则,则采用的运算规则,则采用基数乘除基数乘除法法完成转换;完成转换;1.2.3 任意两种进制之间的转换任意两种进制之间的转换 General positional-number-system Conversions3. 若若不熟悉不熟悉 、进制的运算规则,则可进制的运算规则,则可利用十进制利用十进制作为转作为转换

26、桥梁,如下图所示:换桥梁,如下图所示: (N) (N) (N) (N) 10 (N) 多项式多项式替代法替代法基数乘基数乘除法除法2. 若若熟悉熟悉进制十进制进制十进制的运算规则,则采用的运算规则,则采用多项式替代法多项式替代法完成转换;完成转换;例例3 将将(1023.231)4转换成五进制数。转换成五进制数。第一步:第一步: (1023.231)4 ( ? )10 多项式多项式替代法替代法 (1023.231)4 = (1103 +0102 +2101 +3100 +210-1 +310-2 +110-3 )4 = (14 3 + 04 2 + 24 1 + 34 0 + 24 -1 +

27、34-2 + 14-3 )10 = 64 + 0 + 8 + 3 + 0.5 + 0.1875 + 0.015625 = 75.703125第二步:第二步: (75.703125)10 ( ? )5 整数部分与小数部分分别转换。整数部分与小数部分分别转换。 即即 (75.703125)10 (300.3224)5整数部分整数部分 5 7 5 b0=0 5 1 5 b1= 0 5 3 b2= 3 0基数乘基数乘除法除法小数部分小数部分 0 . 703125 53 . 515626 C-1 = 3 52 . 578125 C-2 = 2 52 . 890625 C-3 = 2 54 . 45312

28、5 C-4 = 4 (1023.231)4 (300.3224)51.2.4 直接转换法直接转换法二进制数是计算机内部真正使用的数,但由于它的二进制数是计算机内部真正使用的数,但由于它的表示既表示既易出错易出错也也不易交流不易交流,故常常用八进制或十六进制,故常常用八进制或十六进制的形式表示。的形式表示。 二进制二进制Binary,简称,简称B,如,如 (10)2 = (10)B ;八进制八进制Octal,简称,简称O ,如,如 (10)8 = (10)O ;十六进制十六进制Hexadecimal,简称,简称H ,如,如 (10)16 = (10)H 。当基数当基数 、是是2的幂次方的幂次方时

29、,可以进行直接转换。时,可以进行直接转换。 (N) (N) 转换转换 : Conversion Between Base and Base when = k 直接转换图示:直接转换图示: 因此,可用因此,可用划分相应字符串划分相应字符串的方法实现基数为的方法实现基数为 2k 的的进位制与进位制与二进制二进制之间的直接转换。之间的直接转换。2481632基数为基数为 2k 的进位制是将一个的进位制是将一个k位位二进制二进制字符串字符串用用一一位位数字字符表示,如下表中数字字符表示,如下表中(5)8= (101)2 、 (5)16= (0101)2222232425( N)2 = (N) 2 直接

30、转换的步骤:直接转换的步骤: 将二进制数用将二进制数用并列表示法并列表示法表示;表示;( N)2 = ( K n-1 K n-2 K 1 K 0 . K -1 K -2 K -m ) 2 以小数点为中心,分别以小数点为中心,分别向左向左、向右向右分组,每分组,每k位一组;位一组;k向左分组向左分组向右分组向右分组 注意小数部分的注意小数部分的右补零右补零; 每组用一位基数为每组用一位基数为2k的进位制数表示,则转换完成。的进位制数表示,则转换完成。例例1 将将(11111010.0111) 2转换为八进制数。转换为八进制数。二进制数二进制数 011 111 010 . 011 100八进制数八

31、进制数 3 7 2 . 3 4即即 (11111010.0111) 2 = (372.34)8(N) 2 = ( N)2 直接转换的步骤:直接转换的步骤: 将基数为将基数为 2k 进制的数用进制的数用并列表示法并列表示法表示;表示;( N) 2 = ( K n-1 K n-2 K 1 K 0 . K -1 K -2 K -m ) 2 以小数点为中心,分别向左、向右分组以小数点为中心,分别向左、向右分组 ;k向左分组向左分组向右分组向右分组即:基数为即:基数为2k的进位制数的的进位制数的每一位每一位用一个用一个k位位二进制二进制 字符字符串串表示,则转换完成。表示,则转换完成。例例2 将将(21

32、3.01) 4转换为二进制数。转换为二进制数。四进制数四进制数 2 1 3 . 0 1二进制数二进制数 10 01 11 . 00 01即即 ( 213.01 ) 4 = (100111.0001) 2k( N ) 2 = ( N) 2 直接转换的步骤:直接转换的步骤:即:转换以即:转换以二进制为二进制为“桥梁桥梁”完成。完成。k例例3 将将(AF.16C) 16转换为八进制数。转换为八进制数。十六进制数十六进制数 A F . 1 6 C二进制数二进制数 1 0 1 0 1 1 1 1 . 0 0 0 1 0 1 1 0 1 1 0 0即即 ( AF.16C ) 16 = (257.0554)

33、 8j 八进制数八进制数 2 5 7 . 0 5 5 422j2k1.2.5 数制转换时小数位数的确定数制转换时小数位数的确定问题的提出:问题的提出:在进行在进行(N) (N) 的数制转换时,会出的数制转换时,会出现现小数部分不能精确转换小数部分不能精确转换的情况,那么,的情况,那么,转换后的小数部分应是怎样的呢?转换后的小数部分应是怎样的呢? 小数位数受机器字长的限制而确定;小数位数受机器字长的限制而确定; 由题目给定小数的位数;由题目给定小数的位数; 保证保证转换成转换成进制后维持进制后维持与与进制相同的进制相同的精度精度。设设: 进制的小数有进制的小数有k位,转换成位,转换成进制后具有相

34、同进制后具有相同精度的小数是精度的小数是 j 位,则位,则 (0.1) = (0.1)在十进制中可表示为:在十进制中可表示为:kj1()k=1()j即即 k = j两边取对数两边取对数 k = j即即 k = j 则则 j 应满足不等式:应满足不等式: j = k k j k + 1 即:即: () = ()kj111010例:将例:将(0.4321)10转换成十六进制时,小数位数应取转换成十六进制时,小数位数应取几位?几位? 10 164 j 4 + 1 10 16j 应满足下列不等式:应满足下列不等式:即即 3.320 j 4.320所以,小数位数应取所以,小数位数应取4位。位。1.3 带

35、符号数的代码表示带符号数的代码表示 Signed Number Representation所谓所谓“带符号数的代码表示带符号数的代码表示”是指是指 带符号数的数值位和符号位都用带符号数的数值位和符号位都用统一的代码形式统一的代码形式表表示,即仅取示,即仅取 0 和和 1 两种数字符号表示。两种数字符号表示。有三种代码表示:有三种代码表示:原码、反码原码、反码和和补码补码。带符号数带符号数真值真值符号位符号位数值位数值位xy57571.3.1 原码原码 Ture form (符号符号-数值表示法数值表示法 Signed-magnitude Representation)1. 原码的形成规则:原

36、码的形成规则:例例1. 用用8位二进制代码表示的原码位二进制代码表示的原码 x = 5 x原原 = 00000101 y = 7 y原原 = 10000111 例例2. 由原码写出所对应的十进制数值:由原码写出所对应的十进制数值:x原原 = 01010101 x =85; x原原 = 11010101 x =85;x原原 = 01111111 x =127; x原原 = 11111111 x =127;x原原 = 00000000 x =0; x原原 = 10000000 x =0;真值真值x符号位符号位S数值位数值位(二进制数二进制数)原码原码x原原0 1不变不变不变不变2. 将真值将真值

37、x 变换成原码变换成原码 x原原 的变换公式:的变换公式:在一个在一个 n 位位原码系统中(包括一位符号位),则原码系统中(包括一位符号位),则3. 原码的加法运算:原码的加法运算: z原原 = x原原 y原原 x 0 x 2n-1x原原 = 2n-1x -2n-1 x 0 当当x原原 、 y原原 的的符号符号 S 相同相同时,则时,则z原原的符号同的符号同x原原的符号,的符号,z原原的数值为两加数的和;的数值为两加数的和; 当当x原原 、 y原原 的的符号符号 S 相异相异时,先判断两数的绝对值时,先判断两数的绝对值的大小,的大小,z原原的符号同大数的原码符号,的符号同大数的原码符号, z原

38、原的数值的数值为用大数的绝对值减去小数的绝对值的差。为用大数的绝对值减去小数的绝对值的差。1.3.2 反码反码 Ngative Number (对对“1”补补 Ones-complement Representation)1. 反码的形成规则:反码的形成规则:例例1. 用用8位二进制代码表示的原码、反码位二进制代码表示的原码、反码 x = 5 x原原 = 00000101 x反反 = 00000101 y = 7 y原原 = 10000111 y反反 = 11111000 例例2. 由反码写出所对应的十进制数值:由反码写出所对应的十进制数值:x反反 = 01010101 x =85; x反反

39、= 11010101 x =42;x反反 = 01111111 x =127; x反反 = 11111111 x =0;x反反 = 00000000 x =0; x反反 = 10000000 x =127;真值真值x符号位符号位S数值位数值位(二进制数二进制数)反码反码x反反0 1不变不变按位变反按位变反2. 将真值将真值 x 变换成反码变换成反码 x反反 的变换公式:的变换公式:在一个在一个 n 位位反码系统中,则反码系统中,则 x 0 x 2n-1x反反 = (2n1) x -2n-1 x 01.3.3 补码补码 tows-complement Representation1. 补码的形成

40、规则:补码的形成规则:例例1. 用用8位二进制代码表示的原码、补码位二进制代码表示的原码、补码 x = 5 x原原 = 00000101 x补补 = 00000101 y = 7 y原原 = 10000111 y补补 = 11111001 例例2. 由补码写出所对应的十进制数值:由补码写出所对应的十进制数值:x补补 = 01010101 x =85; x补补= 11010101 x =43;x补补 = 01111111 x =127; x补补= 11111111 x =1;x补补 = 00000000 x =0; x补补= 10000000 x =128;真值真值x符号位符号位S数值位数值位(

41、二进制数二进制数)补码补码x补补0 1不变不变按位变反按位变反+12. 将真值将真值 x 变换成补码变换成补码 x补补 的变换公式:的变换公式:在一个在一个n位位补码系统中,则补码系统中,则 x 0 x 2n-1x补补 = 2n x -2n-1 x y 绝对值绝对值 z原原= 0101000011原原= 00111 z = 0111 补码运算补码运算: x补补= 01010 y补补= 0011 补补= 11101 01010 11101 1 00111丢掉丢掉 z补补= 00111 z = 0111原码、反码与补码的运算举例:原码、反码与补码的运算举例:例例1 求求 z = xy, 其中其中

42、x =1010,y =0011反码运算反码运算: x反反= 01010 y反反= 0011 反反= 11100 z反反= 00111 z = 0111 01010 11100 1 00110 1 00111原码、反码与补码的运算举例:原码、反码与补码的运算举例:例例2 求求 z = xy, 其中其中 x =0011,y =1010 原码运算原码运算: x原原= 00011 y原原= 01010 x 绝对值绝对值 y 绝对值绝对值 z原原= (0101000011)原原= 00111 z = 0111 补码运算补码运算: x补补= 00011 y补补= 1010 补补= 10110 00011

43、10110 11001 z补补= 11001 z = 0111原码、反码与补码的运算举例:原码、反码与补码的运算举例:例例2 求求 z = xy, 其中其中 x =0011,y =1010反码运算反码运算: x反反= 00011 y反反= 1010 反反= 10101 z反反= 11000 z = 0111 00011 10101 11000 “模模2和和”的运算规则如下的运算规则如下0 001 100 111 010 AA1 AAA A0A A1用真值表验证用真值表验证 :A0 A1 AA A A A01011000111.5 十进制数的常用代码十进制数的常用代码 Binary code f

44、or decimal numbers1. 十进制数的代码表示十进制数的代码表示 既具有二进制数的既具有二进制数的形式形式,又具有十进制数的,又具有十进制数的特点,特点, 即用四位二进制数的代码表示一位十进制数;即用四位二进制数的代码表示一位十进制数; 可按位直接相互可按位直接相互转换转换; 可按位直接可按位直接运算运算。2. 常用的代码常用的代码 “8421”码(码(BCD码码 Binary coded decimal) “2421”码码 余余3码码 (Excess-3) 表表13 三种十进制数的代码表示法三种十进制数的代码表示法十进制整数十进制整数8421码码2421码码余余3码码01234

45、56789000000010010001101000101011001111000100100000001001000110100101111001101111011110011010001010110011110001001101010111100无效码区无效码区Unused codewrds1010、1011、1100、1101、1110、11110101、0110、0111、1000、1001、10100000、0001、0010、1101、1110、11113. 代码的特点代码的特点代码代码 对应的十进制数值对应的十进制数值代码直接按位转换代码直接按位转换8421码码有权码有权码 (W

46、eighted code)8 A34 A22 A11 A0(13)10 = (00010011) BCD(1011101010000) BCD = (1750)102421码码有权码、对有权码、对9自补码自补码2A34 A22 A11 A0(13)10 = (00010011) 2421(1110110110000) 2421 = (1750)10余余3码码无权码、对无权码、对9自补码自补码8 A34 A22 A11 A00011 (13)10 = (01000110) 余余3 (100101010000011) 余余3 = (1750)10设:代码表示为设:代码表示为 A3 A2 A1 A0

47、4. 代码运算代码运算 若按二进制数若按二进制数直接运算直接运算,则运算,则运算结果要修正结果要修正。例:一位代码的加法运算,如下:例:一位代码的加法运算,如下:8421码码: 当0000C1001, 不需修正 例:00110100 当1010C1111,需修正 C0110 例:01110100 当C10000,需修正 C0110 例:10011001余余3码码: 当C 1111 ,C0011例:00110100当C10000 ,C0011例:10011001目的:目的:解决代码在解决代码在形成形成或或传输过程传输过程中可能会发生中可能会发生的错误,提高系统的安全性。的错误,提高系统的安全性。

48、方法:方法:1. 使代码自身具有一种使代码自身具有一种特征特征或或能力;能力;作用:作用:1. 不易出错;不易出错;2. 若出错时若出错时易发现错误;易发现错误;3. 出错时出错时易查错且易纠错。易查错且易纠错。2. 增加信息位之间的增加信息位之间的运算运算,如异或运算,如异或运算 ; 3. 增加增加校验位校验位 。1.6 可靠性编码可靠性编码Error Detection Codes and Correction Codes 1.6.1 格雷码格雷码(Gray)特点:特点:任意两个任意两个相邻数相邻数的代码的代码只有一位只有一位二进制数不同。二进制数不同。目的:目的:解决代码生成时发生的错误

49、。解决代码生成时发生的错误。000000010011001000110000b3b2b1b0b0状态先变化状态先变化b1状态先变化状态先变化例:四位二进制加例:四位二进制加1计数器,工作时有如下情况出现:计数器,工作时有如下情况出现:不应当出不应当出现的暂态现的暂态Gray码还包括步进码、十进制码还包括步进码、十进制Gray 码等。参见书码等。参见书p15.表表14 。 但是,当选用典型但是,当选用典型Gray码设计加码设计加1计数器时,就不会计数器时,就不会出现上述情况。如下:出现上述情况。如下:000000010011001001100111101110101110111111011100

50、010101001000100101234567891011121314150000表表14 几种几种Gray码、步进码和二进制码对照表码、步进码和二进制码对照表十进制数十进制数二进制数二进制数典型典型Gray十进制十进制Gray码码 十进制十进制Gray码码步进码步进码01234567891011121314150000000100100011010001010110011110001001101010111100110111101111000000010011001001100111010101001100110111111110101010111001100000000001001100

51、10011011101010101110011000000000010011001001100111010101001100100000000000010001100111011111111111110111001100010000设:二进制码设:二进制码 B Bn-1 Bn-2 B1 B0典型典型Gray码码G 0例:二进制码例:二进制码 B 1 1 1 0典型典型Gray码码G 0G1Gn-2Gn-10011 通过通过异或运算异或运算 完成:完成: Gi = Bi+1 Bi典型典型Gray码码 由二进制码生成典型由二进制码生成典型Gray码码G0Gi = Bi+1 BiGn-1 = 0 B

52、n-1 = Bn-1 Gn-2 = Bn-1 Bn-2G1 = B2 B1 由二进制码生成典型由二进制码生成典型Gray码码G0 = B1 B0Gi = Bi+1 Bi故故 Bn-1 = Gn-1 Bn = Gn-1 0 = Gn-1Bn-2 = Gn-2 Bn-1则等式两边同时则等式两边同时 Bi+1 :Gi Bi+1 = Bi+1 Bi Bi+1设:典型设:典型Gray码码 Gn-1 Gn-2 G1 G0 Bi = Gi Bi +1 B0 = G0 B1反之,由典型反之,由典型Gray码也可以得到二进制码,如下:码也可以得到二进制码,如下: 二进制码二进制码 B 0111例:典型例:典型G

53、ray码码G 1 1 1 0 二进制码二进制码 B B0B1Bn-2Bn-1Gn-1Gn-2 G1 G0设:典型设:典型Gray码码 G典型典型Gray码的一个特点:码的一个特点:所有对应于所有对应于十进制数十进制数2m-1(m为正整数为正整数)的的Gray: 仅在仅在m位上有位上有1,其他位都为,其他位都为0。m十进制数十进制数 2m - 1典型典型Gray码码12341(0001)3(0011)7(0111)15(1111)0001001001001000传输系统电路示意图传输系统电路示意图:问题:问题:信息在传输过程中受外界干扰而出错,信息在传输过程中受外界干扰而出错, 且绝大多数为单错

54、。且绝大多数为单错。接收接收电路电路发送发送电路电路信息位信息位Bn-10信息位信息位Bn-101干扰信号干扰信号解决方法:解决方法: 增加增加校验位校验位(P);); 通过通过异或运算异或运算 ;校验码和纠错码校验码和纠错码 Codes for detecting and Correcting Errors1.6.2 奇偶校验码奇偶校验码 Parity Code 偶校验:偶校验: 校验校验码码P的取值使校验码中的取值使校验码中“1”的个数是的个数是偶数偶数; P偶偶 = Bn1 Bn2 B1 B0 奇校验:奇校验: 校验码校验码P的取值使校验码中的取值使校验码中“1”的个数是的个数是奇数奇数;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论