双64位最小值的位模式是什么?

What's the bit pattern for minimal value in double 64 bit

本文关键字:模式 是什么 64位 最小值      更新时间:2023-09-26

我假设可以输入双浮点数的最小正值是这个

0 0000000000 00000000000000000000000000000000000000000000000000000

科学形式是这样的:

1 x 2^{-1023}

然而,这篇文章指出:

如前所述,0在直线中是不能直接表示的格式,由于假设前导为1(我们需要指定a真零尾数产生值为零)。0是一个特殊的值用一个全零位的指数域和一个分数域表示

那么最小正值的模式是什么呢?

当指数部分全为零时,这些数为次法线非常规法线,其中隐式数字为0而不是1。因此

0 00000000000 0000000000000000000000000000000000000000000000000000

为零,下一个数字

0 00000000000 0000000000000000000000000000000000000000000000000001

是最小的正数,等于

0.000000000000000000000000000000000000000000000000000000000001 2×2-1022 = 2-1074 &approx;5.0报;10 <一口> -324

UPDATE:当偏差是1023时,为什么指数是-1022 ?次法线的指数与第一个正常浮点数的指数相同(所以1-1023 = 1022)。这是为了使扩散是连续的,即最大的次正态是

2

0.1111111111111111111111111111111111111111111111111111 <子>报;2 <一口> -1022

和下一个浮点数(最小的正常值):

2

1.0000000000000000000000000000000000000000000000000000 <子>报;2 <一口> -1022