当前位置: 首页 > 知识库问答 >
问题:

一定位数的二补混淆

扈阳辉
2023-03-14

假设我有小数21-10=10。

 10101
- 1010
 -----
 1011 = 11 (in decimal)
     (0) 
      10101 (21)
    + 10110 (-10)
      -----
  (1) 01011 = (11)
     (1)
      010101 (21)
    + 110110 (-10)
      -----
  (1) 001011 = (11)

我似乎不明白这里发生了什么,为什么我会得到这些情况的正确答案。

任何澄清都有帮助!

共有1个答案

谭云瀚
2023-03-14

在5位中,10101不是21!

最重要的位被设置,所以它是一些负数!

 类似资料:
  • 我想做一些长整数数学(128位)与英特尔I64汇编和需要创建一个2的补充。假设我的正值在RDX:RAX中。 2的补码是通过“翻转位并加1”来完成的。所以最简单的实现是(4条指令和14字节的代码): 还是4个指令。但是我可以减去-1,而不是加+1,因为SBB将进位加到了减数,所以当进位是清晰的时,我会加+1。所以我下一个最好的尝试是,用3条指令和10字节的代码: 正如你可以从我冗长的文本中看到的,这

  • 本文向大家介绍写一个方法,当给定数字位数不足8位时,则在左边补充0以补足8位数的方法相关面试题,主要包含被问及写一个方法,当给定数字位数不足8位时,则在左边补充0以补足8位数的方法时的应答技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码,包括了JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码的使用技巧和注意事项,需要的朋友参考一下 有时候我们的日期等不足两位的补一个0等,都可以使用这个。 这个大家应该都很明白了,就不废话了,代码如下: 测试代码: 更多代码

  • 我想取904并做9+0,但904是一个int变量。我确实尝试了下面的代码,但是如果用户更改了数字I,它并不总是有效的。

  • 我的理解是,数字是用两者的恭维来否定的,我的理解是:!num+1。所以我的问题是,这是否意味着,对于变量'foo'=1,否定的'foo'将与变量'bar'=255完全相同。如果我们检查-'foo'=='bar'或-'foo'==255,我们会得到它们相等吗?我知道有些语言,如Java,保留一个符号位--所以比较会产生假。没有的语言呢?我假设汇编程序/本机没有符号位。 我的最后一个问题是,对于其他的

  • 问题内容: 我知道用和 将小数转换为二进制(在这里我取32位结果的低16位)。 我想做的是另一种方法,并采用16位二进制补码二进制字符串并将其转换为十进制。 即 而不是 我该怎么做? 问题答案: 您需要将结果读取到中。 此打印。