平成25年度 秋期 午前 問2
離散数学
2ビットだけ右に論理シフトした値
32 ビットのレジスタに 16 進数 ABCD が入っているとき,2 ビットだけ右に論理シフトした値はどれか。
- ア2AF3
- イ6AF3
- ウAF34
- エEAF3
答えと解説を見る
✓ これが正解ア2AF3
解説
上位が0なので2桁ずらして2AF3になります。
レジスタの幅が32ビットだと断ってあるので、中身は16進で8桁ぶんあり、上位の4桁はすべて0です。論理シフトは、あふれた側を捨てて空いた側に0を入れる操作ですから、右へ2ビット動かすと2AF3という並びが残ります。2進で書けば1010101111001101の右端2桁を落とし、左端に0を二つ補った形です。同じことは、右へ2ビット動かすのが4で割って小数を捨てるのと等しい、と考えても確かめられます。判定の軸は二つです。動かす向きが合っているか、そして空いた桁に何を入れる決まりかです。
ほかの選択肢はなぜ違うのか
- イ6AF3:下位から出た2ビットを捨てずに最上位へ回り込ませ、しかも幅を16ビットとみなしたときの並びです。あふれたぶんを捨てるという決まりに反しているので、この操作の結果にはなりません。
- ウAF34:同じ2ビットぶんを反対向きに動かした並びです。下位側に0が二つ補われ、上位側からあふれたぶんが失われているので、動かす向きを取り違えたときにだけ現れます。
- エEAF3:幅を16ビットとみなし、空いた桁に最上位の値を写して埋めたときの並びです。この設問の幅なら最上位は0なので、空いた桁を写して埋めても結果は変わりません。
出典:平成25年度 秋期 基本情報技術者試験 午前 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)