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,哈哈哈。

    是不是挺简单的。

  • 相关阅读:
    【监控笔记】【1.5】事件通知(event Notification)
    【监控笔记】【1.4】Pssdiag和Sqldiag管理器
    【监控笔记】【1.3】监控事件系列——SQL Trace(黑盒跟踪 BlackBox Trace)
    sqlserver数据库大型应用解决方案总结
    如何学习MySQL数据库管理员(OCP)认证(转)
    PL/SQL基本操作
    OracleOraDb11g_home1TNSListener服务无法启动
    sqlplus无法登陆?
    SQL Server中的扩展事件学习系列
    docker容器的服务发现:consul
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13270849.html
Copyright © 2011-2022 走看看