【问题标题】:Binary Subtraction Borrowing Logic for 1000 - 0110?1000 - 0110 的二进制减法借用逻辑?
【发布时间】:2015-06-26 09:52:53
【问题描述】:

我很难理解 1000 - 0110 的借用逻辑。我知道答案是 0010,但我有点理解借用部分。

第一步没问题 0 - 0 = 0

1000
0110
----
   0

第二步0-1,所以我们需要借钱。我们借用 1,结果是 10 - 1 = 1

   ->1
    1000
    0110
    ----
      10

但是下一步就没有什么可以借用的了,那么它是如何工作的呢?

【问题讨论】:

    标签: binary bits subtraction


    【解决方案1】:

    当你借用时,你将二进制 10 带到低位,所以:

      0
    ->1
     0000
     0110
     ----
        0 
    

    然后你再借,10减1,就是1:

       0
    ->11
     0000
     0110
     ----
        0 
    

    最后:

       0
    ->11
     0000
     0110
     ----
     0010 
    

    【讨论】:

    • 第二步,再次借用这一步是混淆的地方。当我们再次借款时,它不应该像第一次借款那样变成 0 而不是 1 吗?
    • @May13ank 第一次和第二次借有区别。对于第一个,您从 1 借用,并且 1 - 1 = 0。结转时,您结转等于基数的值。在这种情况下,基数为 2,因此您可以携带 2 或二进制的 10。所以对于第二种情况,你从 10 借用,并且 10 - 1 = 1(二进制)。
    【解决方案2】:

    在计算机中,数字将呈现为两部分:符号位和值位。 a - b 将被执行为 a + (-b)

    对于正数,它的符号部分是0,值部分是它的二进制表示。对于您的情况,它是:0 1000

    对于负数,其符号部分为1,值部分为:~number + 1,对于0110,~a为1001,+1,表示为:1 1010

    0 1000

    1 1010

    =======

    0 0010

    是正数2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多