Home

binary64

Binary64 is the IEEE 754 64-bit double-precision floating-point format used to represent real numbers in binary. It encodes numbers with 64 bits: 1 sign bit, 11 exponent bits, and 52 fraction bits. The value is (-1)^sign × (1.fraction) × 2^(exponent − 1023) for normal numbers. If the exponent field is zero, the number is subnormal and has the form (-1)^sign × 0.fraction × 2^(−1022). When the exponent field is all ones (2047), the representation denotes either infinity (fraction zero) or NaN (fraction nonzero).

With 52 fraction bits plus the implicit leading 1, binary64 provides 53 bits of precision, roughly 15

Usage and implications: Binary64 is the default floating-point format in many languages, including C, C++, Java,

to
17
decimal
digits.
The
finite
range
spans
about
5.0×10^−324
to
1.8×10^308;
the
largest
finite
value
is
around
1.7976931348623157×10^308.
The
smallest
positive
normal
is
~2.2250738585072014×10^−308,
and
the
smallest
positive
subnormal
is
~4.9406564584124654×10^−324.
and
Python.
It
supports
standard
IEEE
rounding
modes,
typically
round-to-nearest,
ties-to-even.
Because
only
53
bits
of
precision
are
available,
integers
larger
than
2^53
cannot
be
represented
exactly.
Arithmetic
can
produce
rounding
errors,
overflow
to
infinity,
underflow
to
subnormals,
or
NaN
results
in
invalid
operations.
The
format
is
a
cornerstone
of
numeric
computing,
balancing
range
with
precision
for
a
wide
range
of
applications.