Algorithm 使用5位2'的十进制转换;补语

Algorithm 使用5位2'的十进制转换;补语,algorithm,math,binary,decimal,twos-complement,Algorithm,Math,Binary,Decimal,Twos Complement,我被要求展示使用5位2的补码计算11+6。我发现有些规则令人困惑,但我已经找到了如下所示的答案。请让我知道它是否正确,或者如果它是错误的,需要做什么 11的二补是 01011 2的6的补码是 00110 如果需要,现在使用运营商添加: 01011---11二进制格式 00110---6二进制格式 10001---总计 小数点后是17。这是正确的健身方法吗???因为我的二进制结果显示为10001。10001不是意味着-1吗?因为2的补码的第一位是符号位。如果这是错误的,请帮我解决。谢谢你的帮助。让

我被要求展示使用5位2的补码计算11+6。我发现有些规则令人困惑,但我已经找到了如下所示的答案。请让我知道它是否正确,或者如果它是错误的,需要做什么

11的二补是
01011
2的6的补码是
00110
如果需要,现在使用运营商添加:

01011---11二进制格式
00110---6二进制格式
10001---总计

小数点后是17。这是正确的健身方法吗???因为我的二进制结果显示为10001。10001不是意味着-1吗?因为2的补码的第一位是符号位。如果这是错误的,请帮我解决。谢谢你的帮助。

让我们来解释一下它是如何工作的。您知道1在5位二进制表示中表示为
00001
。为了得到-1,(2的补码)的已知方法是:

  • 反转所有位,这意味着
    11110
  • 将1添加到上一个结果,该结果导致
    11111
    等于以十进制为基数的
    31
    (无符号)
  • 因此,
    10001
    不等于-1

    现在,让我们以11(以10为基数)为例。我们知道11等于
    01011

  • 反转所有位=>
    10100
  • 添加1=>
    10101
    ,在无符号模式下等于21,在有符号模式下等于-11 然后可以推断
    10001
    在有符号模式下为-15,在无符号模式下为17

    还要注意,有符号5位整数的范围是-16到15。无符号5位整数的界为0到31在您的例子中,答案是17,这意味着它是一个无符号整数或-15作为有符号整数


    希望这对你有帮助。

    不,10001并不意味着-1。你查过2的补语是什么吗?我做了很多研究。10001给出了十进制的17,但根据2的补码,第一位不是应该是符号位吗?在这种情况下,符号位是1,据我所知,1表示负的大小。但结果肯定不会是-1。所以我试着把它们颠倒过来,因为结果是否定的。把10001倒过来,得到01110,这将得到14,但这同样不是正确的答案。我真的很迷恋这一个。要得到两个补码的否定(通常简单地称为“两个补码”。。或者只是“否定”),你把数字倒过来,加上一(等价地,减去一,再倒过来)。在这种情况下,-10001=01111,这是15,所以10001是-15。为了确认,加上15,然后观察得到零。对不起,我忘了提到增量部分(+1),但它仍然给出了错误的答案。它似乎没有给出17,这将是唯一正确的答案。10001显然已经是17了,没有使用任何有趣的解释。你只是把它当作无符号的。是的,我明白你的意思,但我应该用5位2的补码,用左边的第一位作为符号位。正如我们所知,11+16是17,但给出的结果10001是溢出错误的结果。我们之所以能说出这一点,是因为本应为17的和的大小超出了表示的限制/范围,并产生了一个错误,正如我们所知,5比特2的补码表示的范围是-16到15。它产生了一个溢出错误。这样的结果可以接受吗??因为我们不能在5位系统中用sign@ComputerScienceStudent看看我编辑过的答案。你应该理解,非常感谢。这就把事情弄清楚了。对于不带符号的整数,我将给出10001作为我的答案。@ComputerScienceStudent如果我的答案对你有帮助,请不要忘记通过检查将其标记为“已接受答案”。