論理否定 【NOT演算】 logical negation / 否定演算 / 論理反転

概要

論理否定(NOT演算)とは、論理演算の一つで、与えられた命題が真のときに偽となり、偽のとき真となるもの。論理回路や2進数の数値の場合は、入力が1のとき0となり、0のとき1となる。

論理学では記号「¬」を用いて「P¬Q」のように表記し、電子工学(論理回路)では記号「¯」(上線)を用いて「P」のように表す。論理否定演算を行う論理回路を「否定演算回路」「NOT演算回路」「NOTゲート」などと呼ぶ。

多くのプログラミング言語でもビットごとの論理否定演算(ビット反転)を行う演算子が用意されており、キーワード「not」を用いて「not p」のように書くものや、C言語などの記法にならって「~」(チルダ)記号を用いて「~p」のように表記する言語が多い。

ビット演算と区別して条件式などで用いる真偽値真理値)の論理否定演算を定義している言語では、「not」キーワードや「!」などの演算子が用いられることが多い。いずれの場合も、演算の対象となる被演算子オペランド)が一つの単項演算子である。

(2024.1.6更新)

プログラミング言語の用語一覧

論理演算

NOT 否定
入力01
出力10

AND 論理積
入力10011
入力20101
出力0001

OR 論理和
入力10011
入力20101
出力0111

XOR 排他的論理和
入力10011
入力20101
出力0110

NAND 否定論理積
入力10011
入力20101
出力1110

NOR 否定論理和
入力10011
入力20101
出力1000

XNOR 否定排他的論理和
入力10011
入力20101
出力1001