了解 Q 格式

信息处理 固定点 浮点
2021-12-27 08:25:10

我对 Q 格式有一些误解。请帮助我理解这一点。

  • 如果我说 Q8 [未签名] 那么会有8小数位。是吗 ?我怎么能代表一个11.5在这种情况下?

  • 如果我说 Q8 [已签名] 那么会有1符号位和7小数位。在这里我怎么能代表一个11.5?

  • 当我说 Q1.7 意味着我有1整数位和7小数位。我可以在 Q1.7 中存储的最小数量是1最大数量是11/27. 这种理解是否正确?

1个回答

我更喜欢使用由整数和小数位数组成的更明确的表示法,就像你上一个问题一样。我一次拿一个:

  1. Q8,我假设你的意思是无符号 Q0.8(没有整数位,8 个小数位)。在这种格式中,没有数字表示1.0要么1.5. 一个 8 位无符号整数可以容纳的最大值是255,在这种表示中,它对应于一个定点值255256=0.9961.

  2. 与上述类似,在带符号的 Q0.7 格式中,没有表示1.0要么1.5. 最大的 8 位有符号数是127,这将代表127128=0.9922.

  3. 您需要明确说明您的号码是签名的还是未签名的。如果您有带符号的 Q1.7 格式,这意味着您的值是 9 位长(1 个符号位、1 个整数位、7 个小数位),这是不太可能的。但是,假设您有这样一个带有 1 个整数位和 7 个小数位的 9 位有符号数,您可以表示范围内的定点数2(227).

    回想一下,整数值和相应的定点表示之间的转换仅仅是除以二,得到小数位数。一个 9 位有符号整数可以保存范围内的值256255,这导致了我上面描述的定点范围。