0

なぜ次の2項減算が結果をもたらすのかを理解するのが難しいです。私は別の答えを得続けます。私は、xが0.00011001100110011001100となるように0.1-xを計算しようとしています。答えは0.000000000000000000000001100 [1100] ...(1100は繰り返されます)私はそれをするとき、私は最初に1100を得続けます。分数2進法の減算

正しくは何をしていませんか?

+0

何を試しましたか?あなたの答えは何ですか?あなたはなぜ答えが繰り返されるべきだと思いますか? –

+0

あなたはその答えが "あるべき"であることをどのように知っていますか?それは私が得た答えに近いものではありません。 –

+0

あなたの '答えは'とあなたの与えられた 'x'を合わせてください。あなたは '0.1'を手に入れますか?あなたの提案した「答え」についてこれは何を言いますか? – AakashM

答えて

0

あなたの期待される答えが間違っていると思います。ここに私の解決策があります。ビットをニブルにグループ化して、読みやすいようにします。

0.1000 0000 0000 0000 0000 0000 <- added zero to the rightmost to fill in the nybble 
- 0.0001 1001 1001 1001 1001 1000 <- added zero to the rightmost to fill in the nybble 
_________________________________ 

0.0001 1001 1001 1001 1001 1000の2の補数を取得します。

1.1110 0110 0110 0110 0110 0111 (1's complement) 
+ 0.0000 0000 0000 0000 0000 0001 
_________________________________ 
    1.1110 0110 0110 0110 0110 1000 (2's complement) 

0.1に2の補数を加えます。

0.1000 0000 0000 0000 0000 0000 
+ 1.1110 0110 0110 0110 0110 1000 
_________________________________ 
10.0110 0110 0110 0110 0110 1000 

オーバーフローが1なので、無視してください。 0.10.0001 1001 1001 1001 1001 1000より大きいので、最終的な答えが正の数であることを意味します。したがって、最終的な答えは0.011001100110011001101000です。

関連する問題