zoukankan      html  css  js  c++  java
  • 原码,反码以及补码

    原码:如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。剩下的n-1位表示该数的绝对值。

      (机器字长:是指计算机进行一次整数运算所能处理的二进制数据的位数,机器字长是32位,主存储器字长可以是32位,也可以是16位)

    反码:对于正数,反码与原码相同;对于负数,符号位不变,原码数值位取反(1变0,0变1)。

    补码:对于正数,补码与原码相同;对于负数,符号位不变,原码数值位绝对值取反后在最低位加1。

    1>正数的原码,反码,补码都是一样的。

    2>原码与补码的转换

    • 原码-->补码(符号位不变,其他取反加1)

      原码:11100110;

      先变反码:10011001;

      再加1变为补码:10011010

    • 补码-->原码(符号位不变,其他取反加1)

      补码:10011010 ;

      先变反码:11100101

        再加1变为原码:11100110

    1.在计算机中,数值一律用补码存储。

    • 主要原因:使用补码,可以将符号位和其他位统一处理;同时,减法也可安家发来处理。
    • 另外,两个用补码表示的数相加时,如果是高位有进位,则进位被舍弃。

    2.采用原码表示法

    • 优点:简单易懂
    • 缺点:运算复杂,因为,当两数相加时,如果是同号,则数值相加。若是异号,则要进行减法,在进行减法的同时还要比较绝对值的大小,,然后大数减小数,最后还要给结果选择符号,
  • 相关阅读:
    Linux命令应用大词典-第11章 Shell编程
    Kubernetes 学习12 kubernetes 存储卷
    linux dd命令
    Kubernetes 学习11 kubernetes ingress及ingress controller
    Kubernetes 学习10 Service资源
    Kubernetes 学习9 Pod控制器
    Kubernetes 学习8 Pod控制器
    Kubernetes 学习7 Pod控制器应用进阶2
    Kubernetes 学习6 Pod控制器应用进阶
    Kubernetes 学习5 kubernetes资源清单定义入门
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5525443.html
Copyright © 2011-2022 走看看