負の数の固定小数点乗算


8

私は簡単な問題に困惑しています。Q0.3形式の2つの4ビット数値があるとします。1つの符号ビットと3つの小数ビット。だから私は表すことができます1 まで 0.875

今、私はこの計算をしたいとしましょう: 0.25×0.875。それは:

223×723

つまり、私は増殖しています 11102) 沿って 01117)。もちろん答えは0.21875 または 0.25 最も近いQ0.3番号を使用します。

働きましょう。

1110×0111=01100010

Q0.6の数値で見ると 1.100010、これは 0.46875私の本によって。なぜこれが正しくないのですか?の答えを期待しています1.1100100.21875)。

何が悪いのでしょうか?

回答:


10

2の補数を乗算する場合、乗算が生成する桁数を満たすために、オペランドに符号拡張を実行する必要があります。つまり、 4+4=8 数字。

111111102×000001112=111100102

あるので 2 小数ビット、結果は 1.1100102=1426=0.21875。この数値を正規化して Q0.3形式の小数ビット 1.1102=0.25

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.