为什么浮点基数均匀?

时间:2014-09-16 17:50:56

标签: floating-point computer-science

What Every Computer Scientist Should Know About Floating-Point Arithmetic中,作者声明基数是偶数。为什么呢?

1 个答案:

答案 0 :(得分:4)

作者可能会多报,但鉴于基数2和10(二进制和十进制)是最常用的,它最糟糕的是一个哲学失误。 Per http://www.eecs.berkeley.edu/~wkahan/ieee754status/why-ieee.pdf:“几乎所有提供浮点运算的机器都以二进制(基数2),八进制(8),十进制(10)或十六进制(16)进行。生物和历史事故使10成为首选基数对于那些算术会受到人类频繁审查的机器。否则二进制是最好的。大于2的雷达可能在归一化期间提供微小的速度优势,因为前导的几个有效位有时可以保持为零,但这种优势远远超过罚分。在范围/精度权衡和“摆动精度”中。“

奇怪的基地确实发生了 - 虽然在计算机技术方面,并没有那么多。例如,请参阅http://mentalfloss.com/article/31879/12-mind-blowing-number-systems-other-languages。在http://www.math.wichita.edu/history/topics/num-sys.html更多的思考。

作为旁注,一个奇怪的基数会使得一半,四分之一,八分之一等不可能完全代表,并且也会为十分之一和几十分之一制造麻烦。


IEEE浮点运算标准(IEEE 754)仅适用于二进制和十进制格式:http://en.wikipedia.org/wiki/IEEE_floating_point。多年来使用的先前格式列于http://www.mrob.com/pub/math/floatformats.html