您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>电脑硬件>台式机>

补码加法,补码加法计算原理

2010年04月13日 11:41 www.elecfans.com 作者:佚名 用户评论(0

补码加法,补码加法计算原理
  
  负数用补码表示后,可以和正数一样来处理。这样,运算器里只需要一个加法器就可以了,不必为了负数的加法运算,再配一个减法器。
  
  补码加法的公式是
  
  [x]+[y]=[x+y]  (mod 2) (2.17)
  
  现分四种情况来证明。假设采用定点小数表示,因此证明的先决条件是
  
  ︱x︱﹤1, ︱y︱﹤1, ︱x+y︱﹤1。
  
  (1)x﹥0,y﹥0,则x+y﹥0。
  
  相加两数都是正数,故其和也一定是正数。正数的补码和原码是一样的,可得:
  
  
  [x]+[y]=x+y=[x+y]        (mod 2)
  
  (2)x﹥0,y﹤0,则x+y>0或x+y<0。
  
  相加的两数一个为正,一个为负,因此相加结果有正、负两种可能。根据补码定义,
  
  ∵  [x]=x,   [y]=2+y
  
  ∴  [x]+[y]=x+2+y=2+(x+y)
  
  当x+y>0时,2 + (x+y) > 2,进位2必丢失,又因(x+y)>0,
  
  故  [x]+[y]=x+y=[x+y]           (mod 2)
  
  当x+y<0时,2 + (x+y) < 2,又因(x+y)<0,
  
  故  [x]+[y]=2+(x+y)=[x+y]   (mod 2)
  
  (3)x<0,y>0,则x+y>0或 x+y<0。
  
  这种情况和第2种情况一样,把x和y的位置对调即得证。

(4)x<0,y<0,则x+y<0。
  
  相加两数都是负数,则其和也一定是负数。
  
  ∵  [x]=2+x,   [y]=2+y
  
  ∴  [x]+[y]=2+x+2+y=2+(2+x+y)
  
  上式右边分为“2和(2+x+y)两部分.既然(x+y)是负数,而其绝对值又小于1,那么(2+x+y)就一定是小于2而大于1的数,进位“2必丢失.又因(x+y)<0,所以
  
  [x]+[y]=2+(x+y)=[x+y]   (mod 2)
  
  至此我们证明了,在模2意义下,任意两数的补码之和等于该两数之和的补码.这是补码加法的理论基础,其结论也适用于定点整数
  
  [例8] x=0.1001, y=0.0101,求x+y。
  
  [解:]

  [x]=0.1001,[y]=0.0101
  
   
  
  所以 x+y=+0.1110
  
  [例9] x=+0.1011, y=-0.0101,求x+y。
  
  [解:]
  
  [x]补=0.1011,[y]补=1.1011
  
   
  
  所以 x+y=0.0110

  由以上两例看到,补码加法的特点,一是符号位要作为数的一部分一起参加运算,二是要在模2的意义下相加,即超过2的进位要丢掉。

非常好我支持^.^

(64) 17.5%

不好我反对

(301) 82.5%

相关阅读:

( 发表人:admin )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!