【问题标题】:What is the range of a float represented as a Q16.16 integer?表示为 Q16.16 整数的浮点数的范围是多少?
【发布时间】:2017-05-23 10:08:01
【问题描述】:

当用int(number * 0x10000)将浮点数编码为fixed point integerQ16.16时,可以表示的浮点数范围是多少不失精度?

【问题讨论】:

    标签: fixed-point


    【解决方案1】:

    最大范围是 32767 到 -32768 加或减小数部分。所以

    32767 + 65535/65536 至 - 32768 - 65535/65536。

    但是,精度与范围不同。您可以获得高达 31 位的精度。

    【讨论】:

    • 我认为您的意思是65535/65536 而不是65537/65535(后者> 1)?
    【解决方案2】:

    假设您使用二进制补码 32 位整数来表示 Q15.16,整数的范围是 [2^31-1, -2^31][2147483647, -2147483648],小数位数是 2^-161/65536。因此定点值的范围是[2147483647/65536, -2147483648/65536]或近似[32767.99998, -32768]

    【讨论】:

      猜你喜欢
      • 2014-09-23
      • 2010-12-22
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多