大家好,欢迎来到IT知识分享网。
本文详细解释二进制的减法过程,以及补码的由来,保证看完本文,您会明白的透彻
二进制表示正负数
因为二进制只能表示‘0’ ‘1’ ,所以规定最高位用‘0’表示正数;最高位‘1’表示负数
既然能表示负数了,我们就试试来做个减法运算,如图所示
显然结果是-4
补码的引入
现在时针指向3点,那现在如果要时针指向12点,就有两种方法:
①逆时针旋转3格,也就是-3
②顺时针旋转9格,也就是+9
仔细想一想,如果知道了该数的补数的话,那是不是加上补数就又重新归0了?
补码的由来
现在我们来试试,如果以10为模,2对10的补数是8,总之就是两个补数之和等于模
以上例子是以十进制来说的,那在二进制中该如何处理呢?
现在换个角度想想,2对10的补数可以理解为2对9的补数加1,这样做的好处是避免用十进制的麻烦了
把这种方法用在二进制中,就是对2求补数,然后再加1(想想这是不是课本上写的取反再加1呢?)
2进制无非都是用0 1表示,所以求补数就是按位取反,最后再加1就成了二进制的补数了
下面,我们来看看补码的表示,如图所示
相信现在我们会求补码了
以-3为例
如图所示
这里规定只能存储4位,显然超出了一位,这一位(溢出位)就丢掉了
总结
用补码来代替负数的本质就是利用补数之和等于模这个道理
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87861.html