The Java language allows platforms to use available floating-point hardware that can provide extended floating-point support with exponents that contain more bits than the standard Java primitive type double
(in the absence of the strictfp
modifier). Consequently, these platforms can represent a superset of the values that can be represented by the standard floating-point types. Floating-point computations on such platforms can produce different results than would be obtained if the floating-point computations were restricted to the standard representations of float
and double
. According to the JLS, �����������‚�š�š�š�š�š§15������������€š�š�š�š�š�š§15.4, "FP-strict Expressions" [JLS 2005]:
...
Magnitude loss would also occur if the value were stored to memory �����������€š�š�š�š�š�����������‚�š�š�š�š����������‚�š�š�š��������‚�š�š������‚�š����‚��“ ������������‚�š�š�š�š�š������������€š�š�š�š�š�����������€š�š�š�š���������€š�š�š�������€š�š�����€š���€œ for example, to a field of type float
.
...
Ensuring the Accuracy of Floating-Point Numbers | |
[JLS 2005] | �����������‚�š�š�š�š�š§15������������€š�š�š�š�š�š§15.4, FP-strict Expressions |
[JPL 2006] | 9.1.3, Strict and Non-Strict Floating-Point Arithmetic |
Making Deep Copies of Objects, Using strictfp, and Optimizing String Performance |
...