基本情報技術者平成28年秋期 午前問1

午前問1

8ビットのビット列の下位4ビットが変化しない操作はどれか。
  • 16進表記 0F のビット列との排他的論理和をとる。
  • 16進表記 0F のビット列との否定論理積をとる。
  • 16進表記 0F のビット列との論理積をとる。
  • 16進表記 0F のビット列との論理和をとる。
  • [この問題の出題歴]
  • 基本情報技術者 H17春期 問9

分類

テクノロジ系 » 基礎理論 » 離散数学

正解

解説

各論理演算は次のような操作を意味しています。
論理積(AND)
2つのビットが両方とも1のときにだけ1を出力し、それ以外は0を出力する。
論理和(OR)
2つのビットのどちらかが1であれば1を出力し、両方とも0のときは0を出力する。
排他的論理和(XOR)
2つのビットが異なるときは1を出力し、同じときは0を出力する。
否定論理積(NAND=Not AND)
AND演算の結果を反転した演算で、2つのビットが両方とも1のときにだけ0を出力し、それ以外は1を出力する。
01.gif/image-size:374×266
16進表記 0F を2進表記にすると「00001111」です。ここでは演算対象となる8ビットのビット列に仮の値として「10101010」を使用し各選択肢を検証していきます。(※10101010を用いているのは演算後の変化が把握しやすいからです。もちろん他のビット列でも構いません)
  • 10101010 XOR 00001111=10100101
  • 10101010 NAND 00001111=11110101
  • 10101010 AND 00001111=00001010
  • 10101010 OR 00001111=10101111
各演算結果の下位4ビットに注目すると、演算前と比較して被演算ビット列の下位4ビットが変化していないのはAND演算(論理積)ということがわかります。

一般に任意のビット列から特定のビット列を取り出したいときにはAND演算、任意のビット列のうち特定のビット列を反転させたいときにはXOR演算を使うことができるので覚えておくといいでしょう。
© 2010-2020 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop