FE EXAM

NOT 演算(否定・反転)

入力ビットを反転させる 唯一の単項論理演算。0 は 1 に、1 は 0 になります。「成り立たない」を表現する基本演算です。

INTERACTIVE VISUALIZATION
1
0
入力ビット A(タップで切替)
出力 (NOT A)
OUT
0
A=1NOTOUT=0
TRUTH TABLE
ANOT A
01
10
解説

📌
NOT 演算とは

10

NOT 演算(否定)は、1 つの入力ビットをそのまま反転させる演算です。0 を 1 に、1 を 0 にひっくり返します。 AND/OR と違って入力が 1 つだけの単項演算です。

上のツールで A をタップすると、OUT は必ず反対の値になります。回路図ではゲートの後ろの小さな○が反転を意味します。

🔍
真理値表の見方

ANOT A0110

NOT は入力が 1 つしかない単項演算なので、真理値表のパターンはたった 2 行。シンプルです。
NOT 0 = 1:0 をひっくり返して 1
NOT 1 = 0:1 をひっくり返して 0

MIL 記号は三角形の先端に小さな○がついた形。三角形は「信号を通す」、○ は「反転」を意味します。他のゲートと NOT が組み合わさった図(例: AND の後ろに○)でも「○ = 反転」と捉えれば NAND/NOR の理解にもつながります。

日常で例えるなら「電気のスイッチ」。ON はもう一度押せば OFF、OFF を押せば ON。NOT を 2 回繰り返すと元に戻る(二重否定)のも、スイッチを 2 回押せば元の状態という感覚と同じです。

🛠
用途 — ビット反転

NOT はビットを反転させるのが基本の使い道です。単体で使うことも、他の演算と組み合わせて使うこともあります。
全ビット反転 → 1 の補数:ビット列全体に NOT を適用すると、各桁の 0/1 がすべてひっくり返って 1 の補数になる。これに +1 すれば 2 の補数(負の数の表現)が得られる
ビットマスクで 0 にするときの前段:「0 にしたい桁を 1 にしたマスク」を NOT で反転 → AND と組み合わせて使う典型パターン
NAND・NOR の構成:AND/OR の出力に NOT をつけたものがそれぞれ NAND/NOR
条件の反転(!演算子):プログラミングの !isReady のような書き方も、論理 NOT と同じ考え方

C 言語などでは ~(ビット単位 NOT、チルダ)と !(論理 NOT、ビックリマーク)の 2 種類があり、前者はビット列、後者は真偽値に使い分けます。いずれも「NOT は反転」という基本は同じです。

関連コンテンツ

NOT 演算 | Vizigo