a few days ago i was wondering what the minimum value greater 0.0 is, that a double can represent. i checked std::numerical_limits< double >. but i found two different "mins" there: min() and denorm_min().
they give me different values. so i made my own minimum double, by setting only the last bit to 1 (see code below) and it turned out, that this value does not math the other two.
now my question is:
what is the difference between min() and denorm_min()
and why does not my code match any of these two?
i looked up the doc here, but i dont understand it.
I think it means that the normal min is the smallest number that can be accurately represented. Below that the representation gets fuzzier and fuzzier, due to the limited number of bits available.