使用 int(number * 0x10000)将浮点数编码为fixed point integer Q16.16 时,可以使用的浮点范围是多少在没有失去精确度的情况下被代表?
答案 0 :(得分:2)
范围是32767到-32768加上或减去最大的小数部分。所以
32767 + 65535/65536 to - 32768 - 65535/65536。
然而精确度与范围不同。你已经达到了31位的精度。
答案 1 :(得分:1)
假设您使用二进制补码32位整数来表示Q15.16,则整数的范围为[2^31-1, -2^31]
或[2147483647, -2147483648]
,标度为2^-16
或{{ 1}}。因此,定点值的范围为1/65536
或大约[2147483647/65536, -2147483648/65536]
。