負の数の固定小数点乗算


8

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

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

−223×723

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

働きましょう。

1110×0111=01100010

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

何が悪いのでしょうか?

回答:


10

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

111111102×000001112=111100102

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

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