このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,集合と論理演算・論理回路についてシンプルにまとめています。集合については,和集合・積集合・補集合・差集合・対称差集合を,論理演算については,OR,AND,NOT,NOR,NAND,XORを中心に解説します。また,ビット列の操作や加算器についても取り上げていますので,試験対策として一通り確認できる内容になっていると思います。
集合とは(集合の基本と表現)
集合とは,ある条件を満たすものが集まったグループのことをいいます。たとえば,1から10までの自然数の集合をA,その中で2の倍数の集合をB,3の倍数の集合をCとした場合,ベン図は次のようになります。
※ ベン図については,下記を参照。
集合の演算(和・積・補・差・対称差)
和集合( A∪B )とは
2つの集合を足し合わせた部分です。
積集合( A∩B )とは
2つの集合に共通する部分です。
補集合( A )とは
ある集合に含まれない部分です(否定)。
差集合( A-B )とは
ある集合から,別の集合を引いた部分です。
対称差集合( A△B )とは
2つの集合を足し合わせた部分から,共通する部分を引いた部分です。
広告
論理演算と論理回路とは(真理値・ブール値の基礎)
論理演算とは,ある命題が真(true)であるか偽(false)であるかを示す値(論理値)を扱う演算のことをいいます。コンピューターでは真を1,偽を0として扱います。また,論理回路とは,論理演算を行う回路のことをいいます。
※ 論理演算のことをブール演算,論理値のことをブール値ともいいます。
論理和(OR)とは
論理和は,与えられた複数の命題で,少なくとも1つが真の場合に結果が真となる論理演算です。命題(入力)が2つの場合の論理式,真理値表,ベン図,論理回路は次のとおりです。
- 命題
- 判断を言語で表したもので,真または偽という性質(真理値)をもつもの。
- 真理値表
- 論理演算の結果をまとめた表。
- ベン図
- 集合間の関係を図で表したもの。
- 論理回路
- 論理演算を行うための電子回路。
論理積(AND)とは
論理積は,与えられた複数の命題のすべてが真の場合に結果が真となる論理演算です。命題(入力)が2つの場合の論理式,真理値表,ベン図,論理回路は次のとおりです。
否定(NOT)とは
否定は,与えられた命題が真の場合に結果が偽となり,偽の場合に結果が真となる論理演算です。論理式,真理値表,ベン図,論理回路は次のとおりです。
否定論理和(NOR)とは
否定論理和は,与えられた複数の命題のすべてが偽の場合に結果が真となる論理演算です。命題(入力)が2つの場合の論理式,真理値表,ベン図,論理回路は次のとおりです。
否定論理積(NAND)とは
否定論理積は,与えられた複数の命題のすべてが真の場合に結果が偽となる論理演算です。命題(入力)が2つの場合の論理式,真理値表,ベン図,論理回路は次のとおりです。
排他的論理和(XOR,EOR,EXOR)とは
排他的論理和は,与えられた複数の命題で真となるものが奇数個の場合に結果が真となる論理演算です。命題(入力)が2つの場合の論理式,真理値表,ベン図,論理回路は次のとおりです。
論理演算の性質
論理演算の性質は次のとおりですが,丸覚えするのではなく,ひとつひとつ理解するよう努めてください。
基本法則(同一律・零律など)
交換則(AND・OR の順序不変)
結合則(括弧の自由度)
分配則
吸収則
べき等則
ド・モルガンの法則
広告
ビット列の操作(AND/OR/XOR を使った例)
ビットマスクとは(特定ビットの抽出法)
あるビット列から特定の桁(ビット)を取り出す場合は,取り出したい桁を1,それ以外の桁を0とした(マスクした)ビット列とAND演算します。
ビットのセットとは(1を立てる操作)
あるビット列の特定の桁(ビット)を1にする場合は,その桁を1としたビット列とOR演算します。
ビットの反転とは(1⇔0の切替え)
あるビット列の特定の桁(ビット)を反転する場合は,その桁を1としたビット列とXOR演算します。
すべての桁を反転する場合はNOT演算を利用します(すべての桁が1のビット列でXOR演算して求めることもできますが,NOT演算の方が効率がよいです)。
ビットのクリアとは(0に戻す操作)
あるビット列をクリアする(0にする)場合は,同じビット列とXOR演算します。
広告
加算器とは(1桁の二進加算回路)
加算器とは,2進数1桁の加算を行う回路です。
半加算器とは(繰り上がりなしの加算)
半加算器は,下位の桁からの桁上がりを考えなくてもよい場合(最下位桁の加算)に使用する回路です。入力A,入力B,出力S(Sum),桁上がりC(Carry Out)とした場合の真理値表,論理回路は次のとおりです。
全加算器とは(繰り上がりを考慮する回路)
全加算器は,下位の桁からの桁上がりがある場合(最下位桁以外の加算)に使用する回路です。入力A,入力B,下位の桁からの桁上がりC´,出力S(Sum),桁上がりC(Carry Out)とした場合の真理値表,論理回路は次のとおりです。
まとめ
今回は,集合と論理演算・論理回路を中心に,ビット列の操作や加算器についてシンプルにまとめてみました。真理値表やベン図,論理回路は,基本情報技術者試験や応用情報技術者試験で頻出の重要分野です。丸暗記ではなく,「なぜその結果になるのか」を意識しながら,図と対応付けて理解しておきましょう。理解を定着させるためには,実際に真理値表などを書きながら,繰り返し学習することが大切だと思います。
理解が進んだら,過去問題等にもチャレンジしてみてください。


