드모르간 법칙이란??

'각 조건을 부정하고 논리곱을 논리합으로, 논리합을 논리곱으로 바꾸고 다시 전체를 부정하면 원래 조건과 동일하다'

 

코드를 예로 들어 표현하면,

(num<10||num>99)

위와 같은 제어식이 있다고 하자, 이 식은 "!"(※ 논리 부정 연산자)를 이용하여 아래와 같이 표현할 수 있다.

!(num>=10&&num<=99)

두 식이 의미하는 바는 동일하다.. 이를 드모르간 법칙이라 한다.

 

더보기

논리 부정 연산자

피연산자가 true이면 false를, false이면 true를 반환하는 단항 연산자

 

참고로, 위 제어식은 단축평가(short circuit evaluation)이라고도 한다.

단축평가란,

논리 연산의 식 전체를 평가한 결과가 왼쪽 피연산자의 평가 결과만으로 결정되는 경우, 오른쪽 피연산자의 평가를 수행하지 않는 것이다. 

 

&&의 경우,

T && T = T

T && F = F

F && T = F

F && F = F

왼쪽 피연산자가 False가 나왔을 경우, 해당 제어식의 결과는 False이므로, short circuit evaluation이다.

 

||의 경우,

T || T = T

T || F = T

F || T = T

F || F = F

왼쪽 피연산자가 True가 나왔을 경우, 해당 제어식의 결과는 True이므로, short circuit evaluation이다.

+ Recent posts