プロが教えるわが家の防犯対策術!

5+6と5-7を2の補数計算で求め、結果を10進表示する方法を教えて下さい。

A 回答 (3件)

5+6の方はどこで2の補数計算を使うのか分かりませんが…。


10進数を2進数にする方法は分かりますよね?

[5+6の計算]
5(10進数) → 0101(2進数)、6(10進数) → 0110(2進数)なので

0101
+)0110
-----
1011

1011(2進数)を10進数にすると、
2^3 + 2^1 + 2^0 = 8 + 2 + 1 = 13

[5-7の計算]
4ビットの最上位ビットを符号(-)を表すものとします。

-7(10進数)の2進数を求めるために7(10進数) → 0111(2進数)の2の補数を計算ですが、これは「0111をビット反転して(1000)して、1を加えたもの(1001)」になります。
つまり、-7(10進数)の2進数は1001で表されます。

5 + (-7)を2進数で計算すると、

0101
+)1001
-----
1110

1110(2進数)を10進数で表すために、これの2の補数を求めると0010(2進数)。
0010(2進数)は2(10進数)なので、1110(2進数)は-2(10進数)。


数学というより、コンピュータでの計算ですが…。
    • good
    • 0

結果も十進表示でいいのなら、11と-2と暗算で出てしまいますが


わざわざ4ビットの二進数にするのは、補数表現や表せる範囲を
出題の意図にしているのかもしれませんね。

4ビット、2の補数の二進数で表せるのは、7 から -8 までです。

5+6 は 0101 + 0110 = 1011 で、-5(オーバーフロー)
5-7 は 0101 - 0111 = 1110 で、-2

となります。
    • good
    • 0

5や6は10進数ですよね?


あと4ビットとあるので、5(10進数) → 0101(2進数)として回答すればいいんですか?

この回答への補足

はい、そうです。
説明が足らず、すみませんでした。
回答おねがいします。

補足日時:2009/08/01 20:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!