卡片召唤师
精华
|
战斗力 鹅
|
回帖 0
注册时间 2022-2-26
|
并非如此。
根据IEEE 754标准,32位(单精度)浮点数由1位符号、23位尾数和8位指数组成,但并不意味着其有效位为23位。其尾数开头还有一个隐含的整数部分“1”(次正规数除外),因此单精度32位浮点数的有效位实际上是24位。
而且,32位整数的精度固定为1;而32位浮点数的精度是离散的,会随着数值的增加而减小,不能完全与24位整数的精度等同。
如果将32位整数缩放至数字音频使用的[−1,1]区间,其精度会被换算为1/(2³¹−1)≈4.656612875×10⁻¹⁰。而32位浮点数在[−1,1]区间内在极其靠近0的范围中的最小间隔(unit in the last place, ULP)是可以小于前者的。具体而言,这个范围是32位浮点数的实际指数E∈[−126,−8](只讨论正规数范围内的情况),−126是IEEE 754标准规定的32位浮点数指数的下限,此时32位浮点数的ULP为2⁻¹²⁶⁻²³=2⁻¹⁴⁹≈1.4013×10⁻⁴⁵;而当E=−8时,其ULP为2⁻⁸⁻²³=2⁻³¹≈4.656612873×10⁻¹⁰,2⁻³¹<1/(2³¹−1),这也是32位浮点数的ULP小于32位整数精度的最大指数值。
综上所述,32位浮点数在一定范围内的精度是高于32位整数的。
|
|