首页 / JAVA / Java中Integer超出范围问题
Java中Integer超出范围问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java中Integer超出范围问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含976字,纯文字阅读大概需要2分钟。
内容图文
![Java中Integer超出范围问题](/upload/InfoBanner/zyjiaocheng/609/894297cfa6164428b8674ce92e195c81.jpg)
Java中Integer超出范围问题
- Java中Integer范围
在Java中Integer范围是2-31到231-1,但是如果超过范围怎么处理? - 使用左移运算验证
左移运算<<,将二进制向左移动一位,即数值乘以2。
System.out.println(1); System.out.println(Integer.toBinaryString(1)); System.out.println("-----------"); System.out.println(1 << 1); System.out.println(Integer.toBinaryString(1 << 1)); |
已知Integer的二进制是32位,那么当1左移31位时达到最高位,即Integer的最小值。
System.out.println(Integer.toBinaryString(1 << 31)); System.out.println(1 << 31); System.out.println(Integer.MIN_VALUE); |
那么此时再向左移动1位会怎么样?
System.out.println(Integer.toBinaryString(1 << 32)); |
由结果可知,在超出范围时,在高位产生溢出,回到最低位从新开始。可以理解为一个循环,最高位的下一位就是最低位,即第31位之后是第0为,1现在在第31位上,再向左移1位,回到第0位上,即回到十进制的1。
- 总结
Java中数值范围,Integer,Long等整数类型,当范围达到最大范围时,溢出时返回最低位,重新开始。同理向下溢出也是一样的。
内容总结
以上是互联网集市为您收集整理的Java中Integer超出范围问题全部内容,希望文章能够帮你解决Java中Integer超出范围问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。