(int)4000000000.0;//打印出来为2147483647
int b=2000000000*2;//b打印出来为294967296问题:1、double类型强制转换为float类型的过程? 2、double类型强制转换为int类型的过程? 3、表达式的值超出了表达式的类型所能包含的值时,表达式是如何取值的?
简单点说就是为什么2000000000*2打印出来为294967296
int b=2000000000*2;//b打印出来为294967296问题:1、double类型强制转换为float类型的过程? 2、double类型强制转换为int类型的过程? 3、表达式的值超出了表达式的类型所能包含的值时,表达式是如何取值的?
简单点说就是为什么2000000000*2打印出来为294967296
解决方案 »
- 给JLabel对象数组添加事件问题,,
- 问两道SCJP题目:)
- 关于java ping程序统计发送包的成功率
- JFreechart,我想用这个开发应用程序画图,出了问题寻求帮助
- java中如何操作sqlserver中的text类型字段
- 200分求做一简单的软件
- 求高手点拨一个“通过IP显示地理位置”功能的实现Bug原因..
- 关于连接池释放问题.........?
- 纪念学习java一周年,问个弱智的问题
- 我现在用JAVA做了一个应用程序,但我不会打包,请告诉我打包程序的下载地址,最好有使用方法
- Java连接SQL2000时,只能连接到默认数据库吗?
- 我就不信有人会知道 addActionListener的方法体。。。。。悬赏中
所以你计算的数超过它的最大值或者最小值的话,就会产生溢出。
int的最大最小值应该是2的16次方。