62,628
社区成员
发帖
与我相关
我的任务
分享
double pi = 3.141592653589793;
System.out.println((float)3.141592600000000);
System.out.println((float)3.141592699999999);
System.out.println(3.9999999999999997);
System.out.println(3.9999999999999998);double pi = 3.1415926535897932384;
//System.out.println(pi);
float f = (float)pi;
//System.out.println(f);
String sd = Long.toBinaryString(Double.doubleToLongBits(pi));
System.out.printf("%64s\n", sd);
System.out.printf("%64s\n", sd.substring(12));
String sf = Integer.toBinaryString(Float.floatToIntBits(f));
System.out.printf("%32s\n", sf);
System.out.printf("%32s\n", sf.substring(9));
System.out.printf("%s\n", sd.substring(12));
System.out.printf("%s\n", sf.substring(9));
System.out.println();
double d = Math.sqrt(2);
float f1 = (float)d;
//System.out.println(d);
//System.out.println(f1);
sd = Long.toBinaryString(Double.doubleToLongBits(d));
System.out.printf("%64s\n", sd);
System.out.printf("%64s\n", sd.substring(12));
sf = Integer.toBinaryString(Float.floatToIntBits(f1));
System.out.printf("%32s\n", sf);
System.out.printf("%32s\n", sf.substring(9));
System.out.printf("%s\n", sd.substring(12));
System.out.printf("%s\n", sf.substring(9));
打印结果
100000000001001001000011111101101010100010001000010110100011000
001001000011111101101010100010001000010110100011000
1000000010010010000111111011011
0010010000111111011011
001001000011111101101010100010001000010110100011000
0010010000111111011011
11111111110110101000001001111001100110011111110011101111001101
10101000001001111001100110011111110011101111001101
111111101101010000010011110011
101010000010011110011
10101000001001111001100110011111110011101111001101
101010000010011110011