你的位置:首页 > Java教程

[Java教程]八位二进制数为什么表示范围(


  • 计算机对带符号数的表示有三种方法:原码、反码和补码    8位原码反码能够表示数的范围是-127~127    8位补码能够表示数的范围是 -128~127    所以既然范围是-128~127,那肯定是用补码表示的。 10000000-11111111表示-128到-1,  00000000-01111111表示0-127 补码的1111 1111转换成原码就是1000 0001,也就是-1。 补码就是二进制表示负数的一种方法
  • 引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个.
  • 注意:-128)没有相对应的原码和反码, (-128) = (10000000)
  • 所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
  • 反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
  • 补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。