Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.4, "FP-strict Expressions" [JLS 2005]:

The net effect [of non-fp-strict evaluation], roughly speaking, is that a calculation might produce "the correct answer" in situations where exclusive use of the float value set or double value set might result in overflow or underflow.

...

Bibliography

[Darwin 2004]

Ensuring the Accuracy of Floating-Point Numbers

[JLS 2005]

§15.4, FP-strict Expressions

[JPL 2006]

9.1.3, Strict and Non-Strict Floating-Point Arithmetic

[McCluskey 2001]

Making Deep Copies of Objects, Using strictfp, and Optimizing String Performance

...

NUM05-J. Do not use denormalized numbers      Rule 03: Numeric Types and Operations (NUM)Image Added