Java中二进制及int和long的符号占位


二进制

  • Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64 位是符号位
  • 二进制的整数有如下三种形式:
    •  原码:直接将一个数值换成二进制数。最高位是符号位
    •  负数的反码:是对原码按位取反,只是最高位(符号位)确定为1
    •  负数的补码:其反码加1
  • 计算机以二进制补码的形式保存所有的整数。
    •  正数的原码、反码、补码都相同
    •  负数的补码是其反码+1

为什么要使用原码、反码、补码表示形式呢?计算机辨别“符号位”显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法,这样计算机运算的设计就更简单了。




将10进制转换为2进制


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM