使用浮点数时,在0和1之间进行归一化是否好

When working with floating point numbers, is it good to normalize between 0 and 1?

本文关键字:是否 之间 浮点数      更新时间:2023-10-16

我的数字在1e10和1e11之间。为了准确起见,在进行任何计算和/或比较之前,将这些数字归一化为[0;1]更好吗?我想知道,因为我听说在0和1之间,可表示的数字比从1到无穷多。然而,我找不到这方面的消息来源。

您不能增加现有浮点数的精度。不存在可以通过归一化恢复的"隐藏"精度,相反,归一化更有可能由于舍入误差而降低数字的精度。也就是说,如果首先以某种方式对输入进行归一化,那么有些数学运算可能会产生更精确的结果,但这具体取决于您正在执行的运算。

浮点数字存储在内存中,嗯,浮点,即科学记数法。即1.23456789e101.23456789e-101.23456789都将保持相同数量的有效数字。

的确,从数学上讲,0和1之间有无穷多个数字(这将是Aleph-1?),但这与讨论无关,因为一个浮点变量只能容纳这么多不同的值。例如,一个4字节的浮点变量有32位,因此不可能产生超过2^32个不同的浮点值。

相关文章: