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

    原码:是最简单的机器数表示法。用最高位表示符号位,"1"表示负号,"0"表示正号。其他位存放该数的二进制的绝对值。
     例:1010 :
            
            最高位是1,表示这是一个负数,其他三位是:010
            即:从最最右边开始计算结果为
                 0 = 0 * 2 ^ 0     => 0
                                   +
                 1 = 1 * 2 ^ 1    => 2
                                   +
                 0 = 0 * 2 ^ 2    => 0
                 
             ^ 表示幂运算
             再结合最高位是1,表示:1010 是个负数,其结果为 -2 
    
    原码最大的问题就在于一个数加上他的相反数不等于零。        
    
    反码:正数的反码还是等于原码。负数的反码就是他的原码除符号位外,按位取反。
        例:
            3是正数,原码与反码相同,则可以表示为0011
           -3的负数,原码是1011 反码的符号位不变是1,后面3位接位取反100 所以-3的反码就是:1100
           
            
        反码与原码比较,最大的优点,就在于解决了减法的问题
    
    补码:正数的补码等于他的原码,负数的补码等于反码+1
  • 相关阅读:
    line-block,white-space,overflow
    JS操作cookie
    C#的位运算
    小常识:变量的修饰符和DEMO
    JS等号的小注释
    关于谷歌浏览器的小常识
    P2568 GCD
    P2522 [HAOI2011]Problem b
    P3455 [POI2007]ZAP-Queries
    P1447 [NOI2010]能量采集
  • 原文地址:https://www.cnblogs.com/MrRightZhao/p/12194351.html
Copyright © 2011-2022 走看看