# IEEE 754-1985, Binary 64, Floating Point Number Examiner

Chris W. Johnson
April 27, 2018

All floating point numeric representations have limitations, so it’s vitally important to understand the effects of those limitations, especially if you’re writing software, and possibly even if you are merely using a spreadsheet.

The two principal issues with floating point are that (1) it sacrifices precision in order to preserve magnitude, and (2) in most cases (as in this case), the components of the floating point number are handled as conventional binary quantities (as opposed to binary representations of base 10 digits), while being accepted-from, and presented-to, humans as approximate conversions to base 10 (decimal) numbers. It is hoped that this tool will assist people in building an understanding of the causes and effects of such issues.

The “IEEE 754-1985, binary 64” format is a very common floating point format used by Java to represent numbers in its `double` primitives and `Double` objects, and for all floating point calculations. By extension, it will be used to represent double-precision floating point values in any of the other languages that run inside the Java Virtual Machine (JVM). It is also used by languages unrelated to Java and the JVM, notably Javascript, which uses it to represent essentially all numbers, Python which uses it on most platforms, and C/C++ which use it where it is the host CPU’s native representation.

Browser Compatibility

This page requires browsers to support the MathML standard. As of May, 2013, Firefox and Safari had MathML support, but Chrome did not (it was in version 24, but no other versions).