float max = 1.0f / 0.0f; float f = 1.0f; while (f * 2 != f) { f *= 2; } System.out.println(f);
回复三楼: class FloatDemo { public static void main(String[] args) { float max = 1.0f/0.0f; float f = 1.0f; while(f*2!=f){ f*=2; } System.out.println(max+"\t"+f); } }输出的结果是:Infinity Infinity 求解释
如果想求Float.MAV_VALUE的话 float f = 1.0f; float max = 0; while (f * 2 != f) { max = f; f *= 2; } for (int i = 0; i < 32; i ++) { float next = max + max / (2 << i); if (next == f) { continue; } max = next; } System.out.println(f); System.out.println(max); System.out.println(Float.toHexString(max));
float f = 1.0f;
while (f * 2 != f) {
f *= 2;
}
System.out.println(f);
class FloatDemo
{
public static void main(String[] args)
{
float max = 1.0f/0.0f;
float f = 1.0f;
while(f*2!=f){
f*=2;
}
System.out.println(max+"\t"+f);
}
}输出的结果是:Infinity Infinity 求解释
float f = 1.0f;
float max = 0;
while (f * 2 != f) {
max = f;
f *= 2;
} for (int i = 0; i < 32; i ++) {
float next = max + max / (2 << i);
if (next == f) {
continue;
}
max = next;
}
System.out.println(f);
System.out.println(max);
System.out.println(Float.toHexString(max));