zoukankan      html  css  js  c++  java
  • 自认为隐藏在计算机补码中的秘密(原来这么简单)

       大晚上的写计算机组成原理作业,发现 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,哈哈哈。

    是不是挺简单的。

  • 相关阅读:
    当今世界最为经典的十大算法投票进行时
    HDU_1203 I NEED A OFFER!
    POJ_2352 Stars(树状数组)
    HDU_1231 最大连续子序列
    POJ_3264 Balanced Lineup(线段树练手题)
    【转】休息几分种,学几个bash快捷键
    HDU_1013 Digital Roots
    HDU_1381 Crazy Search
    POJ_2528 Mayor's posters(线段树+离散化)
    zoj_1610 Count tht Color
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/9880526.html
Copyright © 2011-2022 走看看