【问题标题】:Subtraction 8-bit binary number减法 8 位二进制数
【发布时间】:2016-10-31 10:06:03
【问题描述】:

我正在尝试将两个 8 位数字相加,一个是负数,第二个是正数。这就是我所做的:

92-113

所以我将每个数字表示为二进制

92 - 01011100
113 - 01110001

在将 0 更改为 1 并将 1 更改为 0 后,我得到:

10001110 and after adding 1 I have 1000111 which is -113

然后我把它们加起来,我得到:

11101011

什么完全没有意义,我可能做错了什么?真的很想知道我在哪里犯错,因为这是非常基础的知识;/

【问题讨论】:

  • 为什么没有意义?你认为什么是有意义的?
  • 11101011 = 0xEB = -21,这是正确答案。

标签: math binary twos-complement


【解决方案1】:

您没有遗漏任何东西 - 11101011 是 8 位带符号二进制中 -21 (92-113) 的二进制等价物。

对于单整数类型,最左边的位确定数字是正数还是负数。为了得到加法逆,你翻转除了最右边的所有位。这与您将 113 转换为 -113 的过程相同。

这样做会产生 00010101 即 21。所以 11101011 是 -21。

【讨论】:

    猜你喜欢
    • 2018-03-16
    • 1970-01-01
    • 2019-04-16
    • 2012-04-22
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 2012-09-21
    • 2013-10-03
    相关资源
    最近更新 更多