java int最大值


关于java int 最大值为什么是:2147483647

int 类型数占4个byte.

1byte=8bit

也就是有32个bit占位符

可以用位移运算得出

int tmp = 0;
for (int i = 0; i <= 30; i++)
tmp = tmp + (1 << i);
System.out.println(tmp);

不是32位么,怎计算只到30?

由于Int最高位,也就是第32不是用来计算value,而是用来表示此值是正数还是负数,0表示正数,1表示负数。不参与value计算。

所以只有31位,那还差一位,二进制换算,是从0开始的,在移位过程中,移到30位,就是第31bit值。

 

 


免责声明!

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



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