[논리] 논리연산자 NOT, AND, OR, XOR, NAND, NOR
Math/Logic/Set/Func.2008. 11. 18. 20:03 |논리연산자 ( 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 로 쓰기로 한다.
로지컬 아퍼레이션 몇개를 간단히 살펴보자.
단항 연산자로는 니게이션이 있다. 기호는 뭐 수학의 정석에서 익숙해진대로 틸드(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 로 쓰기로 한다.