【发布时间】:2018-04-10 20:28:57
【问题描述】:
我想知道一些数学或理论,即 n 位中的有符号整数或有符号浮点表示是否在其最小值和最大值之间编码更多粒度(或者如果两者编码粒度相同)。
想象一个用例,我想以 32 位的最大可能粒度表示音频样本。 MAX/MIN 将是观察到的绝对值最大的样本,0 表示静音。目标是让每个样本在任何时候都代表最接近真实声压(或电压)的值,并尽量减少因四舍五入造成的信息损失。
我的直觉是整数和浮点表示将包含相同级别的粒度,因为每个都可以在 MIN 和 MAX 之间编码 2^32 个不同的值。
- 我是否正确地观察到它们可以编码的不同信息值的绝对数量相等?
- 一种表示的粒度是否比另一种表示更集中在特定范围内?我的直觉是,浮点表示会将更多的粒度集中在零附近,并在其 MAX/MIN 值附近保留较少的粒度。换句话说,浮点表示将区分非常相似的值(例如 .001 和 .002),只要这些值接近于零,但如果这些值不接近于零,则不会区分非常相似的值(例如 8388607.001和 8388607.002)。这是正确的吗?
【问题讨论】:
-
浮点对不同的大小编码不同的粒度。小数量的数字非常接近。大的数字相距甚远。
-
谢谢,所以区别在于粒度集中在哪里:对于整数,粒度在整个范围内线性分布,而对于浮点,它集中在小数周围,以牺牲大数为代价。
-
浮点中的点浮动。那就是浮点数的点。
标签: encoding binary floating-point integer