首先请记住一点,在计算机中所有的二进制都是以补码的形式存储的,所以你最后取反之后只是这个数的补码,你还需要转换成源码,才是我们最终的十进制数字
下面是计算过程:
正数取反(123,结果是-124):
(1)先将此数变为二进制数,全部位取反(0变1,1变0);
(2)由于这个数是补码,所以要进行再一次取反变成反码(注意符号位不变),之后反码在加1变成补码(其实就是原码)
负数取反(-1,结果是0):
(1)先将此数变为二进制数,符号位先不变,在全部位取反;
(2)此时这个数也是补码,需要转换成原码,先将这个数连同符号位取反,在进行减一操作,得到最后的原码
来源:https://www.cnblogs.com/hxbhxb/p/16332028.html
本站部分图文来源于网络,如有侵权请联系删除。