我对下一步如何确定感兴趣:
那么如何确定尾数的位数是多少,以及e的位数是多少.我想这是noob问题,但我想知道答案.
Total Bits per field
Precision Bits Sign Exponent Mantissa
Single 32 1 8 23 (+1 implicit)
Double 64 1 11 52 (+1 implicit)
Extended (x87) 80 1 15 64
Quadruple 128 1 15 112 (+1 implicit)
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么高精度格式有这么多指数位?单精度可为您提供约10 ^ 38的最大值,我可以看到在极端情况下(宇宙中的原子数)您可能需要更大的指数。但是双精度达到〜10 ^ 308,而扩展精度和四精度具有更多的指数位。这似乎比实际的硬件加速计算所必需的要大得多。(负指数甚至更荒谬!)
话虽如此,尾数位显然很有价值,以至于我认为必须有充分的理由牺牲尾数以支持指数。那是什么 我认为这可能是为了表示两个相邻值之间的差异而无需使用次法线,但是即使这样,指数也不会发生太大变化(在+1023到-1022的整个范围内为-6为两倍)。