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.采用原码表示法

    • 优点:简单易懂
    • 缺点:运算复杂,因为,当两数相加时,如果是同号,则数值相加。若是异号,则要进行减法,在进行减法的同时还要比较绝对值的大小,,然后大数减小数,最后还要给结果选择符号,
  • 相关阅读:
    测试
    mysql数据库 select语句全集
    Markdown文本的书写格式详解--有道云笔记
    mysql数据忘记库密码
    最新版mysql基本命令操作
    Python从入门到放弃
    第二阶段冲刺
    周总结15
    找水王
    用户体验评价
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5525443.html
Copyright © 2011-2022 走看看