Subnormal numbers (also sometimes called denormal) are very small floating point values near zero. Formally, they are numbers smaller than those that can be represented without leading zeros in the significand (for example, normal numbers). Typically, floating point numbers are represented without leading zeros in the significand. Leading zeros in the number are moved to the exponent (that is, 0.0123 is represented as 1.23x10-2). Subnormal numbers are, therefore, numbers in which such a representation would cause the exponent to be lower than the minimum possible value. In such a situation, the significand is forced to have leading zeros. Much more detail on these numbers is available on Wikipedia at https://en.wikipedia.org/wiki/Denormal_number.
Subnormal numbers in Julia can be identified by the issubnormal
function, as follows:
julia> issubnormal(1.0) false julia> issubnormal(1.0e-308) true
Subnormal numbers are useful for a gradual underflow. Without them, for example...