集合と論理演算・論理回路 -情報処理シンプルまとめ

集合演算と論理演算・論理回路に関するブログのアイキャッチ画像 基礎理論

 基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,集合と論理演算・論理回路ついてシンプルにまとめています。集合については,和集合,積集合,補集合,差集合,対象差集合について説明しています。論理演算については,論理和(OR),論理積(AND),否定(NOT),否定論理和(NOR),否定論理積(NAND),排他的論理和(XOR,EOR,EXOR)について説明しています。その他,ビットマスク(ビットの抽出),ビットのセット,ビットの反転,ビットのクリアなどのビット列の操作や,加算器についても説明しています。大切なところですので,時間をかけてじっくり読んでみましょう。

集合

 集合とは,ある条件を満たすものが集まったグループのことをいいます。たとえば,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つの場合の論理式,真理値表,ベン図,論理回路は次のとおりです。

論理演算の性質

 論理演算の性質は次のとおりですが,丸覚えするのではなく,ひとつひとつ理解するよう努めてください。

基本法則

交換則

結合則

分配則

吸収則

べき等則

ド・モルガンの法則

ビット列の操作

ビットマスク(ビットの抽出)

 あるビット列から特定の桁(ビット)を取り出す場合は,取り出したい桁を1,それ以外の桁を0とした(マスクした)ビット列とAND演算します。

ビットのセット

 あるビット列の特定の桁(ビット)を1にする場合は,その桁を1としたビット列とOR演算します。

ビットの反転

 あるビット列の特定の桁(ビット)を反転する場合は,その桁を1としたビット列とXOR演算します。

 すべての桁を反転する場合はNOT演算を利用します(すべての桁が1のビット列でXOR演算して求めることもできますが,NOT演算の方が効率がよいです)。

ビットのクリア

 あるビット列をクリアする(0にする)場合は,同じビット列とXOR演算します。

加算器

 加算器とは,2進数1桁の加算を行う回路です。

半加算器

 半加算器は,下位の桁からの桁上がりを考えなくてもよい場合(最下位桁の加算)に使用する回路です。入力A,入力B,出力S(Sum),桁上がりC(Carry Out)とした場合の真理値表,論理回路は次のとおりです。

全加算器

 全加算器は,下位の桁からの桁上がりがある場合(最下位桁以外の加算)に使用する回路です。入力A,入力B,下位の桁からの桁上がりC´,出力S(Sum),桁上がりC(Carry Out)とした場合の真理値表,論理回路は次のとおりです。

全加算器に関する説明画像

まとめ

 今回は,集合と論理演算・論理回路,ビット列の操作,加算器について,シンプルにまとめてみました。真理値表やベン図,論理回路などは,基本情報技術者試験や応用情報技術者試験など,実際の情報処理技術者試験でよく出題されます。定着するまで,繰り返し,しっかり頑張りましょう。