exponent corresponds to the second component of
decodeFloat. exponent 0 = 0 and for finite
nonzero x, exponent x = snd (decodeFloat x)
+ floatDigits x. If x is a finite floating-point
number, it is equal in value to significand x * b ^^
exponent x, where b is the floating-point radix.
The behaviour is unspecified on infinite or NaN values.