問題
非負の 2 進数 b₁b₂…bₙ を 3 倍したものはどれか。
選択肢
- 1b₁b₂…bₙ0 + b₁b₂…bₙ
- 2b₁b₂…bₙ00 − 1
- 3b₁b₂…bₙ000
- 4b₁b₂…bₙ1
正解
1. b₁b₂…bₙ0 + b₁b₂…bₙ
詳しい解説を見る解説を閉じる
解説
2 進数を 1 ビット左シフト(末尾に 0 を付加)すると値は 2 倍になる。したがって b₁b₂…bₙ0 は元の数の 2 倍を表す。これに元の数 b₁b₂…bₙ を加えれば 2 倍 + 1 倍 = 3 倍になる。よって「ア」が正しい。3x = 2x + x という分解をシフトと加算で実現している。(出典: 平成24年度 春期 基本情報技術者試験 午前 問2)
一問一答
科目A 180問+科目B 60問