問 題
2進数AとBがある。それらの和がA+B=(101010)2、差がA-B=(1100)2であるとき、Bの値として、正しいものを次の(1)~(5)のうちから一つ選べ。
- (1110)2
- (1111)2
- (10011)2
- (10101)2
- (11110)2
正解 (2)
解 説
AとBの和と差が2進数で与えられていますが、まずはこれらを馴染みのある10進数に変換します。
和である(101010)2を10進数に直す際には、2進数の一の位が2の0乗、十の位が2の1乗、百の位が2の2乗…と対応していきます。つまり、以下の図のように書くことができます。
よって、これを計算すると、次の通りとなります。
差である(1100)2についても同様に計算します。
以上から、A+B=42とA-B=12の連立方程式を解くことで、A=27、B=15と計算することができます。求めたいのはBの値を2進数で表したものなので、今度は15を2進数に変換します。
10進数を2進数にするには、以下のように元の数字(10進数の数値)を2でどんどん割っていって、その余りを下から上へ読んでいったものが答えとなります。
よって、(15)10=(1111)2だとわかります。
以上から、正解は(2)となります。
コメント