美文网首页IT@程序员猿媛
为什么二进制数的补码等于按位取反再加1

为什么二进制数的补码等于按位取反再加1

作者: 日更专用小马甲 | 来源:发表于2019-04-24 09:51 被阅读29次

昨天聊到了补码的问题:在4进制中,原码1的补码是3。减去原码和加上补码的结果是一样的。大学时候,对于二进制数,求补码有个口诀:按位取反再加一

为什么呢?还是以4进制为例,为了直观起见,还是先把图贴上。

减法和补码

补码又可以表示为进制能表达的最大数减去原码再加一,对于二进制表现形式能表达的最大数(不考虑负数)是多少?3。写成2进制是11。

  • 减去2进制的1也就是01,得到10,和原码正好每一位都取反。
  • 减去2进制的2也就是10,得到01,和原码正好每一位也都取反。

因为3的每一位都是1,所以减去另一个数字时,跟取反的结果是一样的。剩下的例子也就不再赘述了。

还有一个在已知补码的情况下,还有一个获得原码的口诀叫:按位取反再加一

相关文章

  • 数值是以补码表示的

    正数的补码与原补码相同 负数的补码:将该数的绝对值的二进制数按位取反后再加1 例如:求-10的补码 10的原码: ...

  • 为什么二进制数的补码等于按位取反再加1

    昨天聊到了补码的问题:在4进制中,原码1的补码是3。减去原码和加上补码的结果是一样的。大学时候,对于二进制数,求补...

  • 关于补码_2019-03-29

    整数的补码正数的补码正数的补码等于源码负数的补码负数的补码:源码中符号位保持不变,其余各位取反后再加1 小数小数的...

  • 计算机中二进制补码的运算原理

    在计算机中负数以补码形式表示,计算负数补码的方法是符号位不变,其余位按位取反再加1。简言之,补码是计算机中用来表示...

  • point the sword to offer

    11 、1的个数 ~-9的计算步骤:转二进制:1 1001计算补码:1 0111按位取反:0 1000 12、po...

  • 计算机基础

    补码正数的补码是它本身;负数的补码是负数的绝对值对应的二进制数值按位取反加一。9:1001-9:0111

  • 按位异或运算 (正数异或负数) 、按位非(~)

    正数反码:与原码相同 负数反码:符号位为“1”,数值位按位 取反。 正数补码:与原码相同 负数补码:求反加一 记住...

  • Java 运算系统 & 控制流

    运算系统 % 取余 位运算 按位取反 ~ 1's complement => 反码 ~3 == -4 补码 2's...

  • byte类型最大值和最小值-128~127

    先了解二进制运算的几个概念 正数的反码和补码都是自己负数的反码:符号位除外,其他位取反负数的补码:其反码末位+1 ...

  • 位运算

    先简单看一下概念喽 1、补码 例子哟 2、按位与(&) 3、按位或(|) 4、按位异或(^) 5、取反(~) 6、...

网友评论

    本文标题:为什么二进制数的补码等于按位取反再加1

    本文链接:https://www.haomeiwen.com/subject/dllwgqtx.html