A floating point means exactly that: accuracy refers to the scale of the number itself.
In the specific example that you indicated, 1.22e-45 can be presented separately, since the indicator can be adjusted to represent 10 ^ -45 or approximately 2 ^ -150.
On the other hand, 1.0 is represented in binary format with a scale of 2 ^ 0 (i.e. 1).
To add these two values, you need to align their decimal points (er ... binary points), which means that all 1.22e-45 precision is shifted more than 150 bits to the right.
Of course, IEEE double-precision floating-point values ββhave only 53 bits of mantissa (precision), which means that on a scale of 1.0, 1.22e-45 is actually zero.
source share