Encoding 相同大小的整型值和浮点值在各自的最小值和最大值之间是否具有相同的粒度?

Encoding 相同大小的整型值和浮点值在各自的最小值和最大值之间是否具有相同的粒度?,encoding,binary,floating-point,integer,Encoding,Binary,Floating Point,Integer,我想知道n位的有符号整数或有符号浮点表示是否在其最小值和最大值之间编码更多的粒度(或者两者是否编码相同的粒度)的一些数学或理论 想象一个用例,在这个用例中,我希望以32位的最大可能粒度表示音频样本。MAX/MIN将是观察到的绝对值最大的样本,0表示沉默。我们的目标是使每个样本在任何时刻都最接近声压(或电压)的真实值,并将舍入造成的信息损失降至最低 我的直觉是,整数和浮点表示将包含相同的粒度级别,因为它们可以在最小值和最大值之间编码2^32个不同的值 我观察到它们可以编码的不同信息值的绝对数量是相

我想知道n位的有符号整数或有符号浮点表示是否在其最小值和最大值之间编码更多的粒度(或者两者是否编码相同的粒度)的一些数学或理论

想象一个用例,在这个用例中,我希望以32位的最大可能粒度表示音频样本。MAX/MIN将是观察到的绝对值最大的样本,0表示沉默。我们的目标是使每个样本在任何时刻都最接近声压(或电压)的真实值,并将舍入造成的信息损失降至最低

我的直觉是,整数和浮点表示将包含相同的粒度级别,因为它们可以在最小值和最大值之间编码2^32个不同的值

  • 我观察到它们可以编码的不同信息值的绝对数量是相等的,对吗
  • 一种表示法的粒度是否比另一种表示法更集中于某一特定范围?我的直觉是,浮点表示将更多的粒度集中在零附近,而在其最大/最小值附近保留较少的粒度。换句话说,只要非常相似的值(例如.001和.002)接近于零,浮点表示法将区分这些值,但如果这些值不接近于零(例如8388607.001和8388607.002),则不会区分非常相似的值。这是正确的吗

  • 考虑传统的无符号32位二进制和IEEE 754 32位浮点

    整数格式对0到232-1之间的所有整数进行编码,而不编码其他任何整数


    浮点格式为两个范围的每个幂对223个数字进行编码。它在[2-100,2-99]中编码的数字与在[21002101]中编码的数字一样多。它实际上编码的数值比32位整数少,因为它为无穷大和NaN(非数字)保留了一个值块.

    浮点为不同的量级编码不同的粒度。小的量级数字非常接近。大的量级数字相距很远。谢谢,所以不同之处在于粒度集中的地方:对于整数,粒度在整个范围内线性分布,而对于浮点数,粒度集中在以牺牲大数为代价,求小数。浮点中的点是浮点数。这就是浮点中的点。谢谢你。我实际上通过阅读你的答案历史就得到了很多信息。所以,像往常一样,这是一个寻找特定主题专家的好地方。