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 |
...