自认为隐藏在计算机补码中的秘密(原来这么简单)

   大晚上的写计算机组成原理作业,发现 x - y=【x】补+【-y】补,而【-y】补 就是机器负数,就是  【-y】补  包括符号位都取反+1.

eg:y=-0.0110      【y】补 = 1.1010       【-y】增补=0.0110 = - y    (增补的意思是连同符号位都取反+1,因为普通的补不需要符号位也取反)

    符号位取反挺好理解的,因为毕竟是求一个数的相反数嘛,符号位总要有一次取反的,那么抛去符号位的变化

也就是说   y = 【【y】补】补,也就是说一个数,经过一次取反+1,在取反+1仍是它本身

eg:

二进制数x=1010001

取反           0101110

+1              0101111

取反           1010000

+1              1010001    和原来一样

eg:

二进制数x=000

取反           111

+1             000

取反           111

+1              000    和原来一样

其实,十进制数也是如此,十进制数取反是什么意思呢,就是用9减去这个数,5取反4,3取反6

eg:

十进制数x=79

取反           20

+1              21

取反           78

+1              79    和原来一样

任何进制都是一样的,但是为什么两次(取反+1)还是它本身。像十进制取反就是用9减去这个数,16进制就是用15减,二进制就是1去减喽

1-0=1 

1-1=0就是取反的含义。

用十进制来解释原因更便于理解。比如十进制数x=79。取反就是99-x,+1就是99-x+1=100-x,然后取反就是99-(100-x)=x-1,再+1,就是x,哈哈哈

比如十进制数x=3586。取反就是9999-x,+1就是9999-x+1=10000-x,然后取反就是9999-(10000-x)=x-1,再+1,就是x,哈哈哈

无聊的数学游戏!!!   懂了的话,其它进制也是类似的.

二进制   x=101, 取反就是111-x=010,+1就是111-x+1,就是1000-x,然后取反就是 111-(1000-x)=111-1000+x=-1+x,再+1,就是x,哈哈哈。

是不是挺简单的。

原文地址:https://www.cnblogs.com/caiyishuai/p/13270849.html