在64位平台中,双倍范围如下:
-2.22507e-308 ~ +2.22507e-308
-1.79769e+308 ~ +1.79769e+308
我遵循IEEE754标准并尝试按以下等式计算双倍范围
x = (-1)^s * (1+fraction) * 2^(exponent-bias)
所以我尝试在64位平台上进行计算,但我不确定以下是否正确?
由于偏差为1024,因此可以通过以下方式计算double的最大值:
(1-2^-52) * 2^(2^11 - 1024) = 2.22507e-308
似乎没错......
但是当我以相同的方式计算double的最小值时
(1-2^-52) * 2^-(1024-1)) = 1.1125369292536007e-308,
1024 -1 (minus 1 is for zero bit?))
结果不正确......所以我想知道用手计算双倍范围的正确方法是什么。
提前感谢。