【发布时间】:2017-05-23 10:08:01
【问题描述】:
当用int(number * 0x10000)将浮点数编码为fixed point integerQ16.16时,可以表示的浮点数范围是多少不失精度?
【问题讨论】:
标签: fixed-point
当用int(number * 0x10000)将浮点数编码为fixed point integerQ16.16时,可以表示的浮点数范围是多少不失精度?
【问题讨论】:
标签: fixed-point
最大范围是 32767 到 -32768 加或减小数部分。所以
32767 + 65535/65536 至 - 32768 - 65535/65536。
但是,精度与范围不同。您可以获得高达 31 位的精度。
【讨论】:
65535/65536 而不是65537/65535(后者> 1)?
假设您使用二进制补码 32 位整数来表示 Q15.16,整数的范围是 [2^31-1, -2^31] 或 [2147483647, -2147483648],小数位数是 2^-16 或 1/65536。因此定点值的范围是[2147483647/65536, -2147483648/65536]或近似[32767.99998, -32768]。
【讨论】: