首页 > 编程语言 > 详细

java中的原码、反码、补码

时间:2020-01-14 22:33:47      阅读:97      评论:0      收藏:0      [点我收藏+]
原码:是最简单的机器数表示法。用最高位表示符号位,"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

java中的原码、反码、补码

原文:https://www.cnblogs.com/MrRightZhao/p/12194351.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!