在 What Every Computer Scientist Should Know About Floating-Point Arithmetic作者指出,基数假定为偶数。为什么?
最佳答案
作者可能夸大其词,但考虑到基数 2 和 10(二进制和十进制)是最常用的,这在最坏的情况下是哲学上的失礼。每 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 .
关于floating-point - 为什么浮点基数是偶数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25875386/