我想知道一些关于 n 位中的有符号整数或带符号浮点表示是否在其最小值和最大值之间编码更多粒度的数学或理论(或者如果两者编码为相同的粒度)。
想象一个用例,我希望以32位的最大可能粒度表示音频样本。 MAX / MIN是观察到的绝对值最大的样本,0表示静音。目标是让每个样本在任何时刻都代表最接近声压(或电压)的真实值,并最大限度地减少由于四舍五入造成的信息损失。
我的直觉是整数和浮点表示将包含相同的粒度级别,因为每个都可以在MIN和MAX之间编码2 ^ 32个不同的值。
答案 0 :(得分:2)
考虑传统的无符号32位二进制和IEEE 754 32位浮点。
整数格式编码从0到2 32 - 1的所有整数,没有别的。
浮点格式为每个2的幂范围编码2 23 数。它编码的数字与[2 -100 ,2 -99 )中的数量一样多,如[2 100 ,2 101 )。它实际上编码的数字值少于32位整数,因为它为无穷大和NaN(非数字)保留了一个值块。