基礎理論

基本情報技術者試験 科目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件中)。

この知識をアプリで解いて覚える レッスン「ビットマスクとXORを使ったビット操作」で学ぶ

同じ知識の過去問