四川大学数字逻辑第1章详解.ppt

原码 又称为“符号-数值”表示 增加一位符号位:正数:0;负数:1 其余各位表示数值部分 例: N1= +10011 , N2= -10011,写出其各自的原码表示形式。 解:[N1]原= 0 10011 [N2]原= 1 10011 原码加减运算规则 符号位不参加运算,进行运算的是数值部分。 比较符号位,符号位相同则符号位不变,数值部分相加;符号位不同,则先根据数值大小确定符号位,再数值部分相减的绝对值作为数值部分。 原码运算 例:用原码计算二进制数-00112与+10102的和。 解: 原码 原码的优点:简单易懂,求取方便。 原码的缺点:加、减运算不方便。 当进行两数加、减运算时,要根据运算及参加运算的两个数的符号来确定是加还是减;如果是做减法,还需根据两数的大小确定被减数和减数,以及运算结果的符号。显然,这将增加运算的复杂性。 如何克服原码的缺点呢? 原码 当要将时针从10点调至5点时,可顺调7格(+7),也可反调5格(-5),即对12进制而言10-5≡10+7。这里,5+7=12。通常称5和7对12进制而言互补。 为了克服原码的缺点,引 入了反码和补码。 0 3 6 9 1 2 5 4 11 10 8 7 · +7 - 5 反码 反码又称为“对1的补数”,或者“基为1的补码”。 正数的反码与原码相同。 负数的反码是将其原码除符号位以外按位取反,符号位保持为1。 在反码中有两种不同形式表示零 以八位二进制数表示为例: [+0]反=[ -0]反=反码加减运算规则 符号位和数值位一起参加运算。 如果符号位产生了进位则应将进位加到最低位,称之为“循环进位”。 [N1+N2]反=[N1]反+[N2]反 [N1-N2]反=[N1]反+[-N2]反 反码运算 例:用反码计算+11002与+00102的差。 解: 补码 补码又称为“对2的补数”,或者“基为2的补码”。 正数的补码、反码与原码相同。 负数的补码为将其原码除符号位以外按位取反,再加上1,符号位保持为1。 补码中零只有一种表示方式: 以八位二进制数表示为例: [+0]补=[ -0]补=补码加减运算规则 符号位和数值位一起参加运算。 如果符号位产生了进位则应将该进位丢弃。 [N1+N2]补=[N1]补+[N2]补 [N1-N2]补=[N1]补+[-N2]补 补码运算 例:用补码计算-11002与+00102的差。 解: 丢弃 思考:几种运算方式的比较 原码表示法简单直观,运算复杂,减法无法转换成加法,符号位需要单独运算,会导致实现电路复杂和多花费时间。 反码和补码表示方法都可以将减法转换成加法,且符号位直接参加运算,实现电路相对简单。 反码表示可能需要两次算术加法才能完成运算,补码则只需要一次算术加法运算。 显然,采用补码进行加、减运算最方便。 二进制运算的溢出 例:用补码计算-810与-1010的和。 解: 思考:溢出是怎么产生的? 练 习 练习1.10:写出下列各数的原码、反码、补码。 +1011 -10110 解:(1)[+1011]原=01011 [+1011]反=01011 [+1011]补=01011 (2)[-10110]原=110110 [-10110]反=101001 [-10110]补=101010 思 考 已知一个数的反码,怎么得到实际的数值? 反码的反码?原码?实际的数值 已知一个数的补码,怎么得到实际的数值? 补码的补码?原码?实际的数值 本章小结 数字概念 数制系统 数制系统的转换 二进制编码 十六进制到二进制的转换 方法:将每个十六进制字符换为相应的四位二进制数,连接起来,(去掉首尾多余的0)。 例:将(785.4AF)16转换成二进制数。 解: 7 8 5. 4 A F = 0111 1000 0101 . 0100 1010 1111 = 11110000101.01001010111 ∴(785.4AF)16 =(11110000101.01001010111)2 八进制与二进制的互相转换 例:将(325.744)8转换成二进制数。 解: 3 2 5. 7 4 4 = 011 010 101 . 111 100

文档评论(0)

1亿VIP精品文档

相关文档