2 桁の 2 進数の桁の入替え
出典: 平成27年度 春期 応用情報技術者試験 午前 問2 (IPA)
2 桁の 2 進数 x₁x₂が表す整数を x とする。2 進数 x₂x₁が表す整数を,x の式で表したものはどれか。ここで,int(r) は非負の実数 r の小数点以下を切り捨てた整数を表す。
- ア 2x+4int(x/2)
- イ 2x+5int(x/2)
- ウ 2x−3int(x/2)
- エ 2x−4int(x/2)
正解と解説を見る
正解: ウ
- ア: x = 2 (10) のとき 4 + 4 = 8 になり、01 = 1 になりません。
- イ: x = 2 (10) のとき 4 + 5 = 9 になり、01 = 1 になりません。
- ウ: 2x₂ + x₁ = 2(x − 2x₁) + x₁ = 2x − 3x₁ で、x₁ = int(x/2) なので正しい答えです。
- エ: x = 2 (10) のとき 4 − 4 = 0 になり、01 = 1 になりません。
ポイント
- x = 2x₁ + x₂ なので、int(x/2) = x₁、x₂ = x − 2x₁ です。
- 入れ替えた数は 2x₂ + x₁ = 2(x − 2x₁) + x₁ = 2x − 3x₁ です。
- x₁ = int(x/2) を代入して 2x − 3int(x/2) になります。
確かめ: x = 2 (10) なら 01 = 1 で、2×2 − 3×1 = 1 です。