动手动脑0930


public class TestDouble {

public static void main(String args[]) {
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}

运行结果

 使用double类型的数值进行计算,其结果是不精确的。

单精度(Single Precision)浮点数是32位(即4字节)的,双精度(Double Precision)浮点数是64位(即8字节)的。两者的S、E、M所占的位数以及表示方法由下表可知:

  S E M 表示公式 偏移量

单精度浮点数

1(第31位)

8(30到23位)

23(22到0位)

(-1)^S*2(E-127)*1.M

127

双精度浮点数

1(第63位)

11(62到52位)

52(51到0位)

(-1)^S*2(E-1023)*1.M

1023
原文地址:https://www.cnblogs.com/a8047/p/13756176.html