floating-point - 为什么浮点基数是偶数?

标签 floating-point computer-science

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/

相关文章:

c - x==(int)(float)x 总是 true 吗?

python - 如何打印 float 的全精度 [Python]

node.js - NodeJS中并发安全短唯一整数ID生成

design-patterns - 什么是计算机科学中的隔板?

c++ - 关键字 using 的功能是什么?

javascript - 如何编写 100% 纯记忆化功能?

python - 如何将字符串解析为 float 或整数?

math - float 学有问题吗?

java - RMS 的快速计算在 Java 中给出了 NaNs - 浮点错误?

javascript - 是否可以以非递归方式遍历 JavaScript 中的对象?