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