zoukankan      html  css  js  c++  java
  • 原码、反码、补码、移码

    一、原码

    原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.

    符号位:

    0表示+

    1表示-

    8位二进制:

    [+1]原 = 0000 0001

    [-1]原 = 1000 0001

    二、反码

    反码的表示方法是:正数的反码是其本身;负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

    [+1] = [00000001]原 = [00000001]反

    [-1] = [10000001]原 = [11111110]反

    三、补码

    补码的表示方法是:正数的补码就是其本身;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. 

    负数的补码等于反码末位加1

    X=-101011 , [X]原= 10101011 ,[X]反=11010100,[X]补=11010101

    [+1] = [00000001]原 = [00000001]反 = [00000001]补

    0的补码是唯一的,如果机器字长为8那么[0]补=00000000

    四、移码

    移码等于补码的符号(第一位数字)位取反。

    同一数值的移码与补码符号位相反,其它各位相同

    原码中0有两种表示方式:[+0]原=0000000,[-0]原=1000000。
    在反码表示中,0也有两种表示形式:[+0]反=0000000,[-0]反=11111111。
    在补码表示中,0有唯一的编码:[+0]补=0000000,[-0]补=0000000。

    [-1] = [10000001]原 = [11111110]反 = [11111111]补。

    正数的原码,补码,反码相同;

    负数的反码:原码的数值取反;

    负数的补码:原码转换成反码,反码末位加1

    负数的移码:与补码的符号位(第一位数字)相反

    朝闻道
  • 相关阅读:
    提高你的Java代码质量吧:使用构造函数协助描述枚举项
    Python文件或目录操作的常用函数
    汉语-词语:胸怀
    汉语-词语:胸襟
    汉语-词语:谋略
    汉语-词语:气量
    植物-常见树木:刺槐
    植物-常见树木:楝
    HDU 2255 奔小康赚大钱 KM算法题解
    Dozer--第三方复制工具,哎哟,还不错!
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/8796481.html
Copyright © 2011-2022 走看看