在过去的三天里,我一直在尝试理解浮点表示和定点表示之间的确切区别。我在阅读这些材料时感到困惑,无法确定什么是对的,什么是错的。
问题之一是一些技术术语的含义,如“精度”、“尾数”、“非规范化”、“下溢”等。
谁能举例说明差异?
到目前为止我已经能够找出(并且能够清楚地理解)的要点如下:-
浮点 -
1. 优势提供非常大的范围
2. 坏处四舍五入large数字
固定点 -
1. 优势数字代表exactly(涉及“金钱”时使用)
2. 坏处提供非常有限的范围
但我知道还有很多差异(主要是优点和缺点)。谁能列出来并解释一下?
浮点背后的技术需要很多时间来适应。这里我就不详细说了。
简单地说,浮点实现了高域(从接近于零的非常小的数字到非常高的数字,有时甚至高于宇宙中原子的数量)。浮点数通过保持relative误差常数。 IE。数字将在固定位数的小数后开始四舍五入(这是一种简化,但有助于理解原理)。这与大多数自然科学中的“有效数字”概念非常相似。然而,这意味着浮点数总是以某种方式四舍五入。如果将一个非常小的数字添加到一个非常大的数字,则小数字将被截断而大数字将保留。当小数字低于阈值时,就会发生这种情况。如果添加许多数字,有时可能需要先对它们进行排序,然后将小数字添加到大数字之前。还需要考虑数字稳定性的概念,即算法如何因舍入而偏离正确结果。
另一方面,定点表示将始终具有相同的absolute错误。如果您存储小数点后 4 位的货币,您知道您的数据最多会偏差 0.00005 美分。但是,如果您添加数据,此错误可能会再次累积,但其规则与浮点规则有很大不同。
除非您正在进行繁重的数字工作,否则可能不应该考虑这些问题。大多数时候,只要小心谨慎(即从不使用==
在浮点数或定点数上。然而,比较它们的正确方法对于两者来说是不同的)。此外,据我所知,浮点数在科学工作中更常用,因为大多数情况下,科学家都会接受过数字方面的培训,知道如何处理舍入,并且只对相对精确的结果感兴趣。固定点用于金融领域,其中每个舍入都必须计算并存储在某个地方(通常银行只会保留舍入的半微分),因此您必须很好地控制绝对误差,以便以后能够考虑它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)