1-2장 기본 알고리즘 - 반복 : 논리 연산과 드모르간 법칙(2/3)

 

해당 내용은 Do it! 자료구조와 함께 배우는 알고리즘 입문 C 언어 편 (전면 개정판)을 기반으로 작성되었습니다.


1-2장 기본 알고리즘 - 반복 : 논리 연산과 드모르간 법칙 (2/3)

논리 연산

 

논리곱

- p && q

- 둘 다 T일때 T

- p와 q는 값일 수도 있고, 식일 수도 있다. 

 

논리합

- p || q

- 둘 중 하나라도 T이면 T

- p와 q는 값일 수도 있고, 식일 수도 있다. 

 

단축 평가 (short circuit evaluation)

- 왼쪽 피연산자의 결과 만으로 정확해지는 경우 오른쪽 피연산자의 평가를 실행하지 않는 경우

- ex)

논리합
num = 13;
num < 10 || num > 99;

 

위 코드의 경우, num < 10 만 평가 했을 때 T가 나온다. 

논리합은 피연산자 중 하나라도 T이면 최종 결과 값이 T가 되기 때문에 실행 시간이 단축이 된다. 

 

논리곱
num = 5;
num < 10 || num > 99;

 

위 코드의 경우, num < 10 만 평가 했을 때 F가 나온다. 

논리곱은 피연산자 중 하나라도 F이면 최종 결과 값이 F가 되기 때문에 실행 시간이 단축이 된다. 

 

드모르간 법칙

"각 조건을 부정하고 논리곱을 논리합으로, 논리합을 논리곱으로 바꾸고 다시 전체를 부정하면 원래의 조건과 같다" 라는 법칙

1️⃣  ( x && y ) == ( !x || !y )

2️⃣. ( x || y ) == ( !x && !y )