卡住减去二进制数

时间:2014-11-21 16:44:54

标签: binary

对于这个问题,我必须接受两个二进制数。 resualt必须是负数,但我总是得到错误的答案。继承人我所做的:

  

57 - 184

     

111001 - 10111000

     

然后我翻转10111000就是它的01000110

     

在01000111

结尾添加一个      

然后我做了这个:

     

(在这里迷失)

     

111001 + 01000111 = 10000000。

     

然后你从-128或-256接受。 (我失去了请帮忙!)

2 个答案:

答案 0 :(得分:0)

使用filp,因为010111000是它的101000110当第一个二进制文件中有1时使用额外的0!

答案 1 :(得分:0)

111001 - 10111000

Because left is smaller than right operand, pre-add 100000000
(100000000 is where you want to have sign bit after)

  100000000
+    111001  
-----------
  100111001

Then just subtract

  100111001
-  10111000
-----------
   10000001

Result (8bits) = -127