是否为不同精度的浮点类型"nested"
Are float types "nested" for different precisions
我目前正在 python 编写科学代码。此代码使用几种不同类型的浮点精度,即半精度、单精度和双精度(使用 numpy)。但是,我的问题更笼统,因为它并不特定于 python。
问题:从某种意义上说,这些精度是否“嵌套”,即任何以较低精度精确表示(即没有近似值)的数字也可以以较高精度精确表示。
其他措辞:在转换为更高精度时是否更改浮点数的值?
我很确定答案是肯定的 - 至少对于 IEEE754 标准浮点类型。如果将一个精确表示数字的变量转换为更高精度的类型,则新尾数的最低有效位将为零,因此第二个问题的答案是:不,数值不会改变。
我目前正在 python 编写科学代码。此代码使用几种不同类型的浮点精度,即半精度、单精度和双精度(使用 numpy)。但是,我的问题更笼统,因为它并不特定于 python。
问题:从某种意义上说,这些精度是否“嵌套”,即任何以较低精度精确表示(即没有近似值)的数字也可以以较高精度精确表示。
其他措辞:在转换为更高精度时是否更改浮点数的值?
我很确定答案是肯定的 - 至少对于 IEEE754 标准浮点类型。如果将一个精确表示数字的变量转换为更高精度的类型,则新尾数的最低有效位将为零,因此第二个问题的答案是:不,数值不会改变。