首页 > 叽歪生活 > 补码减法运算

补码减法运算

负数的加法要利用补码化为加法来做,减法运算当然也要设法化为加法来做。其所以使用这种方法而不使用直接减法,是因为它可以和常规的加法运算使用同一加法器电路,从而简化了计算机的设计。

补码减法的公式是:

[x-y]=[x]-[y]=[x]+[-y] ( mod 2 ) ( 2.2.2 )

这里只要证明 – [y] = [ - y],上式即得证。现证明如下:

[x] + [y] =  [x + y] (mod  2)

[y] =  [x + y] – [x] (2.2.3)

[x - y] = [x + ( - y)] =  [x] + [ - y]

[ - y] = [x - y] –  [x] (2.2.4)

将式(2.2.3)与(2.2.4)式相加,得

[ - y] + [y]= [x + y] + [x - y] –  [x] –  [x]

= [x + y + x - y] –  [x] –  [x]

= [x + x] –  [x] –  [x]

= 0

所以 [-]=-[] (2.2.5)

不难发现,只要能通过[y]求得[ - y],就可以将补码减法运算化为补码加法运算。

已知[y]求[ - y]的法则是:对 [y]各位(包括符号位)取反且末位加1,就可以得到[ - y]

[-]=﹁[]+2-n (2.2.6)

【例2.2.4】 x = 0.1100,y = 0.0110,求 [x] – [y] = ?

[解:]

[]=0.1100
[y]=0.0110, [-]=1.1010
[] 0.1100
+[-] 1.1010
[-y] 10.0110
↑丢掉
所以 =+0.0111

【例2.2.5】 x = - 0.1100,y = - 0.0110,求 [x] – [y] = ?

[解:]

[]=1.0100
[y]=1.1010, [-]=0.0110
[] 1.0100
+[-] 0.0110
[] 1.1010
所以 =- 0.0110

转载请标明出处:萝卜根

原文地址请标明:原文地址

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*

:yund: :yun: :yes: :xiaxia: :xiaom: :xiaohan: :wuyu: :wuxiao: :woshou: :woquan: :wink: :tiaodou: :tiaod: :sikao: :pa: :oops: :ok: :no: :mad: :lihai: :leihua: :lei: :ku: :konghe: :kbu: :jiwai: :jiong: :jiay: :huo: :huaixiao: :hanxiao: :han: :haha: :guolai: :guan: :guai: :ganga: :eek: :dou: :diao: :deng: :buli: :bizui: :bishi: :biggrin: :arrow: