《機械》〈情報伝送及び処理〉[R01:問14]2進数の演算に関する計算問題

【問題】

【難易度】★★★☆☆(普通)

 2 進数 A  B がある。それらの和が A+B=(101010)2 ,差が AB=(1100)2 であるとき, B の値として,正しいものを次の(1)~(5)のうちから一つ選べ。

 (1)  (1110)2   (2)  (1111)2   (3)  (10011)2   (4)  (10101)2   (5)  (11110)2 

【ワンポイント解説】

直接計算する方法、 10 進数に変換してから解く方法等様々な解法が考えられます。どのやり方でも正答が出れば問題ありません。

【解答】

解答:(2)
題意より B を導出するため, A+B から AB を引くと,
A+B=101010)AB=0011002B=011110

となるので,両辺 2 で割ると,右辺は一桁下がるので,
B=001111
となり,解答は (1111)2 と求められる。

[別解]
 2 進数を 10 進数にするためには各桁に 2x(x=0,1,2) 乗をかけて導出する。本問においては,
A+B=(101010)2=1×25+0×24+1×23+0×22+1×21+0×20=32+0+8+0+2+0=42  AB=(1100)2=1×23+1×22+0×21+0×20=8+4+0+0=12  

となり,  より,
2B=30B=15
と求められる。 10 進数を 2 進数にするためには, 10 進数を 2 で割っていき,その余りの数を下から並べると求められるので,

となり,解答は (1111)2 となる。