binary32
Binary32 is the IEEE 754 standard for 32-bit floating-point numbers, commonly implemented as the single-precision format in many programming languages and hardware. It consists of 32 bits divided into a sign bit, eight exponent bits, and 23 fraction bits. The value of a normal number is (-1)^sign * (1.fraction) * 2^(exponent-127), where the exponent is stored with a bias of 127. When the exponent field is zero, the number is denormalized and has the value (-1)^sign * 0.fraction * 2^(-126). In that case there is no implicit leading 1. If the exponent field is all ones (255), the value represents infinity when the fraction is zero, or NaN (not a number) otherwise. Subnormal representations allow gradual underflow toward zero.
The largest finite value is approximately 3.4028235e38, and the smallest positive normal is about 1.17549435e-38; the
IEEE 754 rounding modes apply to binary32 operations, and results may suffer from rounding error, cancellation,