美文网首页
计算机中的原码、反码、补码

计算机中的原码、反码、补码

作者: GTMYang | 来源:发表于2024-08-15 16:13 被阅读0次

    PS:正数的原码、反码、补码都一致

    原码

    最高位表示符号位,其他位存放该数的二进制的绝对值
    计算机原始的表示数值的方法,15的原码 0000 1111

    反码(将对应正数的值取反)

    负数的反码就是它的原码除符号位外,按位取反。
    这样减法计算就可以用加法来代替,计算的结果如果是负值需要将结果取反才能得到正确的结果(据说计算机中减法的电路设计比较麻烦而且贵,后来移除掉了)

    关于‘模’

    “模”是指一个计量系统的计数范围。如时钟等。任何事物把首尾相连形成一个圆的时候就出现了模,退x步跟进max-x步能到达同一个位置。

    补码

    补码=反码+1
    反码有一个问题
    +0和-0现实世界中是同一个东西
    +0(原码 0000 0000 反码 0000 0000)
    -0(原码1000 0000 反码 1111 1111 补码 0000 0000)
    但是反码表示的时候却不一样,+0和-0相加表示 0-0 没问题,但是非0和0的减法用加法来处理的话就不对了。
    计算机中各种类型数也满足‘模’的规律,
    所以 m - n 可以转换成 m + (max - n),“max - n” 就是 n 的补码,并且还有一个定理 “补码=反码+1”,所以就可以完全转换成加法运算,并且解决了 +0和-0表示不一致的问题。

    相关文章

      网友评论

          本文标题:计算机中的原码、反码、补码

          本文链接:https://www.haomeiwen.com/subject/wtyskjtx.html