基礎理論
平成23年度 秋期 基本情報技術者試験 午前 問1
16 ビットの 2 進数 n を 16 進数の各桁に分けて,下位の桁から順にスタックに格納するために,次の手順を 4 回繰り返す。a,b に入る適切な語句の組合せはどれか。ここで,XXXX₁₆ は 16 進数 XXXX を表す。
〔手順〕
(1) [a] を x に代入する。
(2) x をスタックにプッシュする。
(3) n を [b] 論理シフトする。
| a | b | |
|---|---|---|
| ア | n AND 000F₁₆ | 左に 4 ビット |
| イ | n AND 000F₁₆ | 右に 4 ビット |
| ウ | n AND FFF0₁₆ | 左に 4 ビット |
| エ | n AND FFF0₁₆ | 右に 4 ビット |
答えを選ぶ
出典:平成23年度 秋期 基本情報技術者試験 午前 問1(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:イ
覚える知識
論理積(AND)マスクとシフトによる16進桁の抽出
論理積に 000F₁₆ を使うと下位4ビットだけを取り出せ、右へ4ビットシフトすると次の16進桁が下位に来る。
この問題で必要なこと
AND 000F で下位4ビット(最下位の16進桁)を取り出し、右に4ビット論理シフトして次の桁を下位に移す。
ひっかけ
左シフトや FFF0 でのマスクは、下位桁ではなく上位桁を残してしまい、下位桁から順に取り出す手順にならない。
この知識の出題:本試験系 3 回・免除試験 2 回(公開問題での観測値)。頻出知識ランキング211位(全1,254件中)。