对于浮点数和双数,为什么负数和正数不对称?

use*_*414 1 .net c#

读取MSDN,浮点范围从1E-45到1E38,双倍范围从1E-324到1E308,我想知道为什么它对于负指针和正指数是不对称的?

per*_*ist 6

你的困惑源于认为"1E-45"是一个负数.它不是 - 它实际上是一个非常小的正数:1 x 10 ^ -45或更确切地说,0.000 ... 0001 - 在"0"之间有44"0".和"1"

这表示浮动可以存储的最小精度单位(或类似 - 其他人链接到的文章将详细解释,如果您需要知道).

另一个数字"1E38"表示可以存储在此数据类型中的最大数字.这是1 x 10 ^ 38或者更确切地说10000 ... 0000,即1之后有38 0s.