平成27年度 春期 午前 問2
基礎理論
基数に関する問題
2 桁の 2 進数 x1x2 が表す整数を x とする。2 進数 x2x1 が表す整数を,x の式で表したものはどれか。ここで,int(r) は非負の実数 r の小数点以下を切り捨てた整数を表す。
- ア2x+4 int(x/2)
- イ2x+5 int(x/2)
- ウ2x−3 int(x/2)
- エ2x−4 int(x/2)
答えと解説を見る
✓ これが正解ウ2x−3 int(x/2)
解説
上の桁と下の桁を x で書き直して、入れ替えて足します。
設問は、二桁の並びを入れ替えた値を、もとの整数 x の式で表させています。手順は二段です。まず上の桁と下の桁を x だけで書き直し、次に入れ替えた形に代入します。基数が二なので、x を二で割った商が上の桁、余りが下の桁です。商は int(x/2) と書けますから、余りは x から int(x/2) の二倍を引いた値になります。入れ替えた並びが表す整数は、下の桁を二倍したものに上の桁を足した値です。ここへ代入して整理すると、x の二倍から int(x/2) の三倍を引いた式が残ります。二桁しかないので、四通りを全部当てて確かめられます。x が 0、1、2、3 のとき、この式の値は順に 0、2、1、3 となり、入れ替えた並びが表す 0、2、1、3 と一つ残らず一致します。桁を入れ替える問題は、商が上位、余りが下位という書き直しから始めると迷いません。
ほかの選択肢はなぜ違うのか
- ア2x+4 int(x/2):下の桁を取り出すときは、二で割った商のぶんを引きます。この式は足す向きになっているので、x が 2 のとき 8 となり、入れ替えた並びが表す 1 から大きく離れます。
- イ2x+5 int(x/2):こちらも符号が逆向きで、しかも掛ける数まで合っていません。x が 2 のとき 9 になり、入れ替えた並びが表す 1 とは別の値になります。
- エ2x−4 int(x/2):下の桁を二倍するところまでは合っていますが、上の桁を足し戻す手順が抜けています。x が 1 では 2 になって一致してしまうので気づきにくく、x が 2 まで当てると 0 となって正しい 1 と食い違います。
出典:平成27年度 春期 応用情報技術者試験 午前 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)