日期:2014-05-20  浏览次数:20714 次

数据溢出的疑问
写了一个测试程序,其中:


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;