【C言語】XNOR回路の真理値表を表示するプログラム 【C言語】XNOR回路の真理値表を表示するプログラム – みなためラボ

【C言語】XNOR回路の真理値表を表示するプログラム


文字サイズ:?? (px)

はじめに

みなため

どうも! みなため(@MinatameT)です。

今回は、XNOR回路(XNOR演算)の真理値表を表示するプログラムを紹介します。

条件文を用いる方法と、ビット演算子で計算する方法の2つのやり方を紹介します。

条件文バージョン

XNOR演算の方法 その1

配列、掛け算、割り算を使わずに、ループ文と条件文でその都度判定させていきます。

決してスマートな方法ではありませんが、わかりやすい方法だと思います。他にもやり方はありますので、これは解答例の1つだと認識してください。

ソースコード

#include<stdio.h>

int main(void)
{
  int a,b,x;

  printf("XNOR回路の真理値表(入力:A、B 出力:X)\n");
  printf("A B X\n");
  printf("------\n");
  for(a=0; a<=1; a=a+1)
  {
    for(b=0; b<=1; b=b+1)
    {
      if(a==b) //aとbが等しければ
      {
        x = 1;
      }
      else //上記の条件を満たさなければ
      {
        x = 0;
      }
      printf("%d %d %d\n",a,b,x);
    }
  }

  return(0);
}

2重ループ(for文)がありますが、これによって以下の順番で出力できます。

  1. A = 0、B = 0のとき
  2. A = 0、B = 1のとき
  3. A = 1、B = 0のとき
  4. A = 1、B = 1のとき

それでは、実行結果を確認していきます。

実行結果

XNOR回路の真理値表(入力:A、B 出力:X)
A B X
------
0 0 1
0 1 0
1 0 0
1 1 1

XNOR回路の真理値表が正しく表示されていますね!

ビット演算子バージョン

XNOR演算の方法 その2

こちらの方法では「^」と「!」を用いて、スマートにXNOR演算をしています。

ソースコード

#include<stdio.h>

int main(void)
{
  int a,b,x;

  printf("XNOR回路の真理値表(入力:A、B 出力:X)\n");
  printf("A B X\n");
  printf("------\n");
  for(a=0; a<=1; a=a+1)
  {
    for(b=0; b<=1; b=b+1)
    {
      x = !(a ^ b); //XNOR演算(a ^ bの結果を!で否定。)
      printf("%d %d %d\n",a,b,x);
    }
  }

  return(0);
}

実行結果

XNOR回路の真理値表(入力:A、B 出力:X)
A B X
------
0 0 1
0 1 0
1 0 0
1 1 1

XNOR回路の真理値表が正しく表示されていますね!

なお、XOR回路の真理値表の表示方法は、以下の記事で紹介してあります。

キャラクター

今回はここまでです。皆さん、お疲れ様でした。

記事本文下のバナー広告

この記事をSNSでシェアする

 

プログラミングカテゴリーの最新記事(5件)

管理人のTwitter

Tweets by MinatameT

内部リンク集

広告枠のレンタルの詳細はこちら!
記事作成のご依頼の詳細はこちら!