HOME»ITパスポート平成21年春期»問64
ITパスポート平成21年春期 問64
問64
2進数10110を3倍したものはどれか。
- 111010
- 111110
- 1000010
- 10110000
分類
テクノロジ系 » 基礎理論 » 離散数学
正解
ウ
解説
解法としてはいくつかあるのですが、一度10進数に直して3倍した数値を2進数に戻す方法と、101102を左へ1ビット分シフトさせて101102を足すという方法を説明します。
【一度10進数に直してから2進数に戻す方法】
まず101102を10進数に直します。各桁の重みをつけて足し合わせるので、以下のように求めます。
24+22+21=16+4+2=22
次にこの10進数22に3を乗じます。
22×3=66
最後に66を2で素因数分解して2進数に戻します。
【101102を左へ1ビット分シフトさせて101102を足す方法】
2進数にはビット列全体を1ビット左シフトするごとにその値が2倍になる性質がありますので、101102を左シフトさせて1011002とし、これに101102を足すことで3倍になります。
【一度10進数に直してから2進数に戻す方法】
まず101102を10進数に直します。各桁の重みをつけて足し合わせるので、以下のように求めます。
24+22+21=16+4+2=22
次にこの10進数22に3を乗じます。
22×3=66
最後に66を2で素因数分解して2進数に戻します。

【101102を左へ1ビット分シフトさせて101102を足す方法】
2進数にはビット列全体を1ビット左シフトするごとにその値が2倍になる性質がありますので、101102を左シフトさせて1011002とし、これに101102を足すことで3倍になります。
