В 64 битой платформе, диапазон двойной является следующим:Каков правильный способ рассчитать «диапазон двойников»?
-2.22507e-308 ~ +2.22507e-308
-1.79769e+308 ~ +1.79769e+308
и я последовал стандартный IEEE754 и попытался рассчитать диапазон двойного путем следующего уравнения,
x = (-1)^s * (1+fraction) * 2^(exponent-bias)
Так что я пытался рассчитать 64-битная платформа, но я не уверен, правильно ли это?
Поскольку смещение 1024, максимальное значение двойного может быть вычислен следующим образом:
(1-2^-52) * 2^(2^11 - 1024) = 2.22507e-308
Это кажется правильным ...
, но когда я вычислить мин значение двойного те же путь
(1-2^-52) * 2^-(1024-1)) = 1.1125369292536007e-308,
1024 -1 (minus 1 is for zero bit?))
результат не верный ... так что я задаюсь вопросом, что является правильным способом для вычисления диапазона двойников вручную.
Благодарим заранее.
К сожалению, у меня есть изменил тег ... – RyanLiu
Вы пытаетесь рассчитать самое низкое положительное нормальное число или самый низкий положительный субнормальный? –
@PatriciaShanahan да .. но я нашел ответ от wiki ... (http://en.wikipedia.org/wiki/Double-precision_floating-point_format) – RyanLiu