int i=16000000;//<17000000的时候赋值输出正确.
//System.out.println((int)Float.MAX_VALUE);
float f=i;
System.out.println(f);
f=i+1;
System.out.println(f);
a<17000000的时候赋值f输出正确.我试了一下,大于17000000的时候f输出时都是
1.7E7
f++;
1.7E7
他是按照这个十六进制位来换算成二进制计算结果的.所以他的十六进制位没有改变,他也就认为值没有改变
这么大的数,估计要一次累加上千上万,才会有作用.而for 循环需要循环那么多次时,早就累死了,while(flgs)这时就更实用了.
|