2014-11-21 68 views
0

对于这个问题,我必须联系两个二进制数。 resualt必须是一个负数,但我总是得到错误的答案。继承人我做了什么:Stuck扣除二进制数

57 - 184

111001 - 10111000

然后我翻转10111000是其01000110

添加一个上月底01000111

然后我做这个:

(迷失在这里)

111001 + 01000111 = 10000000.

然后,您将它从-128或-256中删除。 (我迷路了,请帮助!)

回答

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 
+0

好的,我很确定我现在明白了:)谢谢! – Steve 2014-11-21 18:09:10

0

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