基礎理論
基本情報技術者試験 科目A免除 修了試験 20150726 実施分 問2
8 ビットで表される符号なし 2 進数 x が 16 の倍数であるかどうかを調べる方法として,適切なものはどれか。
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20150726 実施分 問2(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:ア
覚える知識
ビット演算による下位ビットの保持(論理積マスク)
2進数が2^nの倍数であることは下位nビットがすべて0であることと同値で、下位nビットを1としたマスクとの論理積が0かで判定できる。
この問題で必要なこと
16の倍数は下位4ビットがすべて0。00001111との論理積で下位4ビットだけを取り出し、結果が0かどうかで判定できる。
ひっかけ
上位4ビットをマスクする11110000との論理積を選ばせる。論理和は0にならないので判定に使えない。
この知識の出題:本試験系 2 回・免除試験 5 回(公開問題での観測値)。頻出知識ランキング282位(全1,254件中)。