java吧 关注:1,292,882贴子:12,823,944
  • 10回复贴,共1

java整数类型的取值范围怎么算的

只看楼主收藏回复

这是我看到得关于Byte的,但是负整数最小值不应是1111 1111吗?
byte:
第一位为符号位0表示正数,1表示负数所以byte的正整数最大值应该是
0111 1111
转化十进制为:假设S=2^6+2^5+2^4+…+2^0
2S=2^7+2^6+…+2^1
S=2S-S=2^7-2^0=2^7-1=127
而负整数最小值应该是:
1000 0000
转为十进制为:2^7,因为是负数加上符号位-2^7=-128
最后得出byte取值范围:-128~127


IP属地:北京1楼2018-01-31 16:23回复
    而且负整数的最小值不应是 -127吗


    IP属地:北京2楼2018-01-31 16:25
    收起回复
      2025-12-29 03:42:56
      广告
      不感兴趣
      开通SVIP免广告
      int 32位


      来自Android客户端3楼2018-01-31 19:57
      回复
        算法好像都一样 以前研究过 现在忘了


        来自Android客户端4楼2018-01-31 19:58
        回复
          八位补码最大为01111111转换成十进制就是127 最小为10000000 转换成十进制就是-128


          来自Android客户端5楼2018-01-31 20:00
          收起回复