浮点和定点表示的优点和缺点

jsp*_*p99 4 floating-point fixed-point

我在过去三天一直在努力了解浮点和定点表示之间的确切差异.我很困惑阅读材料,我无法确定什么是对的,什么是错的.

其中一个问题是"精确","尾数","非规范化","下溢"等技术术语的含义.

任何人都可以通过例子给出差异吗?

我迄今能够找到的要点(能够清楚地理解)如下: -

浮点 -
1. 优势 提供非常大的范围
2. 缺点减少数量

固定点 -
1. 优势数字准确表示 (涉及'货币'时使用)
2.缺点提供非常有限的范围

但我知道存在很多差异(主要是优点和缺点).任何人都可以列出解释吗?

LiK*_*Kao 5

浮点背后的技术需要花费大量时间来适应.我不会在这里详述.

简单地说,浮点实现了高域(从非常小的数字接近零到非常高的数字,有时甚至高于宇宙中的原子数).浮点通过保持相对误差不变来实现这一点.即数字将在固定的小数位数后开始舍入(这是一个简化,但有助于理解原理).这与大多数自然科学的"重要人物"概念非常相似.但是,这意味着浮点数总是以某种方式舍入.如果你向一个非常大的数字添加一个非常小的数字,那么这个小数字就会被截断,并且大数字会保留.当小数字低于阈值时会发生这种情况.如果添加许多数字,有时可能需要先对它们进行排序,然后在较大的数字之前添加小数字.还需要考虑数值稳定性的概念,即算法如何因舍入而偏离正确的结果.

另一方面,定点表示将始终具有相同的绝对误差.如果您存储4位小数的货币,您知道您的数据将最多关闭.00005美分.但是,如果添加数据,则此错误可能会再次累积,但此规则与浮点规则有很大不同.

除非您正在进行重型数字工作,否则可能不应考虑这些问题.大多数时候,浮点数和定点数都可以正常工作,但要小心(即从不使用==浮点数或定点数.然而,比较它们的正确方法对两者都不同).AFAIK浮标在科学工作中也经常使用,因为大多数科学家都会接受数字训练,知道如何处理四舍五入,只对相对精确的结果感兴趣.固定点用于财务,其中每个舍入都必须计算并存储在某处(通常银行将保留圆形半微量),因此您必须非常好地控制绝对误差,以便以后能够解释它.