Representing Floating-Point Numbers
IEEE 754, a specification accepted worldwide and used by the Java language, defines how to represent floating-point numbers in binary numbers. Single-precision floating-point numbers use 32 bits of memory, and double-precision floating-point numbers use 64 bits.
Here is how single- and double-precision floating-point numbers are represented:
The leftmost bit stores the sign of the floating-point number; a 0 indicates a positive number, while a 1 indicates a negative number.
To represent the exponent of the number, which can be positive or negative, each representation stores a positive, biased exponent, ...