...
When the value to be represented is too small to encode normally, it is encoded in denormalized form, indicated by an exponent value of Float.MIN_EXPONENT - 1
or Double.MIN_EXPONENT - 1
. Denormalized floating-point numbers have an assumed 0 in the ones place and have a zero or more leading zeros in the represented portion of their mantissa. These leading zero bits no longer function as significant bits of precision; consequently, the total precision of denormalized floating-point numbers is less than that of normalized floating-point numbers. Note that even using normalized numbers where precision is required can pose a risk. See rule "NUM04-J. Avoid using Do not use floating-point numbers when if precise computation is required" for more information.
Using denormalized numbers can severely impair the precision of floating-point calculations; as a result, denormalized numbers must not be used.
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e7ae35da3dbf1cf0-9082f04e-437d4cde-9641a36d-7a36213248e4c0d370adecf8"><ac:plain-text-body><![CDATA[ | [[IEEE 754 | AA. Bibliography#IEEE 754 2006]] |
| ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="1f18f929b8cafb8b-75129006-4ce34925-ab8b8149-c782450714afc62abf03be40"><ac:plain-text-body><![CDATA[ | [[Bryant 2003 | AA. Bibliography#Bryant 03]] | Computer Systems: A Programmer's Perspective. Section 2.4 Floating Point | ]]></ac:plain-text-body></ac:structured-macro> |
...
NUM04-J. Avoid using floating-point numbers when precise computation is required 03. Numeric Types and Operations (NUM) NUM06-J. Use the strictfp modifier for floating point calculation consistency across platforms