浮点表示的标准化

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

浮点数尾数标准化有什么要求?

floating-point
2个回答
4
投票

一般来说,浮点标准化意味着选择指数以防止尾数中出现前导零。

选择标准化数字有两个一般原因:

  1. 一致性。例如,如果可以表示的每个数字始终由相同的位模式表示,则比较会更简单。
  2. 精确。在舍入时,使前导有效数字不为零可以保留最大位数。

对于以 2 为基数的浮点数,还有一个额外的好处。已知不为零的二进制数字一定是一,因此不必物理存储,节省一点。

IEEE-754 确实存储非常小的数值,即具有最小指数的数值,带有前导零,以获得优雅的下溢。然而,即使如此,指数也是固定的,因此每个数字只有一种表示形式。


2
投票

假设您正在谈论IEEE-754,尾数需要标准化,因为:

  • 需要有一个隐式的前导 1 位(这就是 IEEE-754 格式的定义方式)
  • 如果没有标准化,就会损失精度,因为您不会使用所有尾数位
© www.soinside.com 2019 - 2024. All rights reserved.