数据溢出的疑问
写了一个测试程序,其中:
float f = (float)1e200;
System.out.println(f);
byte s = (byte)555555555555555555L;
System.out.println(s);
打印结果是:
Infinity
-29
不知道为什么float类型报溢出,而byte却能截成了一个数值呢???
------解决方案--------------------
因为jdk源码里Float里有正负无穷值。
而Byte却没有。。。
Java code
float s = Float.POSITIVE_INFINITY;
s = Float.NEGATIVE_INFINITY;