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] | |
[JPL 2006] | 9.1.3, Strict and Non-Strict Floating-Point Arithmetic |
Making Deep Copies of Objects, Using strictfp, and Optimizing String Performance |
...