浮点和定点表示的优点和缺点[关闭]

问题描述 投票:0回答:4

过去三天我一直在尝试理解浮点表示和定点表示之间的确切区别。我在阅读这些材料时感到困惑,无法确定什么是对的,什么是错的。

问题之一是少数技术术语的含义,例如“精度”、“尾数”、“非规范化”、“下溢”等。

谁能举例说明差异?

到目前为止我已经能够找出(并且能够清楚理解)的要点如下:-

浮点 -
1. 优点提供非常大的范围
2. 缺点 四舍五入数字

定点-
1. 优点数字代表准确(涉及“钱”时使用)
2. 缺点 提供的范围非常有限

但我知道还有很多差异(主要是优点和缺点)。谁能列出来并解释一下吗?

floating-point fixed-point
4个回答
6
投票

浮点背后的技术需要很多时间来适应。这里就不详细说了。

简单地说,浮点实现了高域(从接近于零的非常小的数字到非常高的数字,有时甚至高于宇宙中原子的数量)。浮点通过保持“相对”误差恒定来实现这一点。 IE。数字将在固定的小数位数后开始四舍五入(这是一种简化,但有助于理解原理)。这与大多数自然科学中的“有效数字”概念非常相似。然而,这意味着浮点数总是以某种方式四舍五入。如果将一个非常小的数字添加到一个非常大的数字,则小数字将被截断而大数字将保留。当小数字低于阈值时,就会发生这种情况。如果添加许多数字,有时可能需要先对它们进行排序,然后将小数字添加到大数字之前。还需要考虑数字稳定性的概念,即算法如何因舍入而偏离正确结果。 另一方面,定点表示总是具有相同的“绝对”误差。如果您存储小数点后 4 位的货币,您知道您的数据最多会偏差 0.00005 美分。但是,如果您添加数据,此错误可能会再次累积,但其规则与浮点规则有很大不同。

除非您正在进行繁重的数字工作,否则可能不应该考虑这些问题。大多数时候,只要小心谨慎,浮点数和定点数就可以正常工作(即永远不要在浮点数或定点数上使用

==。但是,比较它们的正确方法对于两者来说是不同的)。此外,据我所知,浮点数在科学工作中更常用,因为大多数情况下,科学家都会接受过数字方面的培训,知道如何处理舍入,并且只对相对精确的结果感兴趣。固定点用于金融领域,其中每次舍入都必须计算并存储在某个地方(通常银行只会保留舍入的半微分),因此您必须很好地控制绝对误差,以便以后能够考虑它。

浮点数非常适合
浮动

点,即当您需要表达不同比例的数字时。您牺牲精度来获得规模范围。

3
投票
另一方面,定点数仅适用于固定比例(如果缩放太多,它们就会超出或不足),但只要保持在所需的比例内,您就可以获得精度。

简而言之:如果您进行大量乘法运算但不将不同比例的数字相加,请使用浮点数。如果相加很多但不相乘,请使用定点。

(定点用例的一个很好的例子是与货币相关的任何事物:本质上,您可以将单位固定为美分或百分之一美分,并使所有货币值都是该单位的整数。)

定点是整数格式浮点数的替代表示形式,带有隐含分母。因此可以对数字进行类似于浮点数的运算。 使用它的优点是浮点运算更昂贵(处理能力)。较新的处理器具有专用的 FPU(浮点单元)来处理该问题。

因此,定点运算是在处理能力有限的情况下[即没有 FPU],并且一点点精度损失不会造成严重破坏,考虑到优点是精度现在是恒定的。

0
投票

固定点数可以在线性时间内排序。定点也是 明确;可以用特定定点协议表示的每个数值只有一种表示形式,而浮点则不然。

浮点具有更广泛的可表示范围。这也是模棱两可的。浮点数可以在NlogN时间内排序。

-1
投票

© www.soinside.com 2019 - 2024. All rights reserved.