本文へ移動

基本情報技術者試験 · 学習ガイド

2016年度 秋期 午前の問題・解答解説

旧制度の午前・午後と、2023年度以降の科目A・科目Bの公開問題を区別しています。現在の試験対策では現行シラバスと科目Bの形式を確認してください。公開問題は本試験の全出題を網羅する資料ではありません。

2016年度 秋期 午前の概要
30:00

問題番号から選ぶ

ビット演算による特定ビット列の保持

テクノロジ系 · ビット演算 / 論理積 / マスク処理

ある8ビットのデータに対して、下位4ビットの値を変更せずにそのまま保持したい。16進表記の 0F を用いたどのような論理演算を行うのが適切か。

解答・解説を表示

解答

ウ

解説

まず要点:下位4ビットを変えずに保つには、16進表記0Fとの論理積(AND)を使います。論理積は、片方のビットが1なら相手の値をそのまま通し、0なら結果を0にする性質があるからです。0Fは下位4ビットだけが1なので、そこだけ元の値を残せます。

解き方

  1. 16進数0Fを2進数にすると、上位4ビットが0000、下位4ビットが1111になります。
  2. 下位4ビットに1111を掛け合わせる(AND)と、x AND 1 = x となって値が変わりません。
選択肢 ア不正解
排他的論理和(XOR)は1のビットを反転させるため、下位4ビットの値が変わってしまいます。
選択肢 イ不正解
否定論理積(NAND)は反転した結果になるため、下位4ビットをそのまま保てません。
選択肢 ウ正解
0F(00001111)との論理積は、下位4ビットが1との掛け算になり元の値のまま残ります。
選択肢 エ不正解
論理和(OR)は1のビットをすべて1にしてしまうため、下位4ビットの値が変わります。

覚えるポイント

  • 1とのAND演算は元の値を保持し、0とのAND演算は0クリア(マスク)になる。

間違えやすいところ

  • 1とのXORでビットが反転することを忘れ、混同してしまうミス。

出題の前提:平成28年度秋期基本情報技術者試験午前問1

出典:IPA『2016年度 秋期 午前』
公式問題冊子 p.4 ↗(www.ipa.go.jp)

2016年度 秋期 午前

参照した公式資料

IPAが公開した2016年度 秋期 午前の問題・解答資料です。