논리연산자 ( NOT , AND , OR, XOR , NAND , NOR )

로지컬 아퍼레이션 몇개를 간단히 살펴보자.

단항 연산자로는  니게이션이 있다. 기호는 뭐 수학의 정석에서 익숙해진대로 틸드(tilde ~ ) 를 써도 좋고, ㄱ자 꺽쇠를 써도 좋다.

니게이션          negation           부정          NOT          ¬          : 참거짓을 반대로 바꿈.



이항 연산자로 컨정션과 디스정션이 있다.

컨정션             conjunction     논리곱         AND         ∧          : 둘다 참일때만 참,  나머진 모두 거짓.
디스정션          disjunction      논리합         OR           ∨          : 둘다 거짓일때만 거짓,  나머진 모두 참.


좀더 확장을 해보자.

negation of the conjunction       부정논리곱    NAND     ↑        :  둘다 참일때만 거짓, 나머진 모두 참.
negation of the disjunction        부정논리합     NOR      ↓        :  둘다 거짓일때만 참, 나머진 모두 거짓.
exclusive disjunction            배타적논리합     XOR             :  둘의 참거짓이 다르면 참, 같으면 거짓.


NAND 는  NOT - AND 로 AND 적용후 NOT 을 한 것이고, NOR 는  NOT - OR 로   OR 적용후 NOT 을 한 것이다.

NAND 와 NOR 에서 화살표가 위아래로 된 건, 어떤 의미로는 ∧ 와 ∨ 에 세로로 막대기를 그은거라고도 생각하면 따로 방향을 기억하지 않아도 된다. 또한 NAND 와 NOR 는 저 기호 말고 다른 기호로도 많이 쓴다.

Exclusive OR 의 경우, XOR 말고, EOR 로도 많이 쓴다.





연산자 우선순위

논리 연산자들이 많이 나오게 될경우, 그에 따라 많은 괄호가 등장하게 되므로, 되도록 괄호를 줄이기 위한 노력의 일환으로 연산자들 사이의 우선순위를 정하는데, 보통, 단항연산자는 이항연산자보다 높은 우선순위를 갖도록 정한다. 물론, 어떠한 경우라도, 괄호는 최상의 우선순위를 갖는다.

즉, p ∧ (ㄱq )   대신에 간단히,  p ∧ ㄱq 로 쓰기로 한다.