왜이 두 문장이 서로 다른지 설명 할 수 있습니까?그렇지 않다면 (a와 b가 아님) if (a와 b가 아님)
if not(a and not b):
// do some stuff
if (not a and b):
// do some stuff
첫 번째 문장을 두 번째 문장으로 변경하여 프로그램을 더 이해하기 쉽도록 만들었지 만 작동하지 않습니다. 나는 왜 그런지 완전히 이해하지 못한다.
왜이 두 문장이 서로 다른지 설명 할 수 있습니까?그렇지 않다면 (a와 b가 아님) if (a와 b가 아님)
if not(a and not b):
// do some stuff
if (not a and b):
// do some stuff
첫 번째 문장을 두 번째 문장으로 변경하여 프로그램을 더 이해하기 쉽도록 만들었지 만 작동하지 않습니다. 나는 왜 그런지 완전히 이해하지 못한다.
(A) :
not(p and q) -> not(p) or not(q)
R 상황, 그냥 not(b)
와 a
및 q
와 p
교체 :
not(a and not b) -> not(a) or not(not(b))
-> not(a) or b
이
(A) 나머지 절반은 다음과 같습니다
not(p or q) -> not(p) and not(q)
은 내가 작성한 내용이 아닌 if (not a) or b
과 동일합니다.
어떻게 알게 되었습니까? 다시 쓰는 규칙이 있습니까? –
@ 9-bits - 예 규칙은 De Morgan의 법칙입니다. - http://en.wikipedia.org/wiki/De_Morgan's_laws – shf301
두 가지 : 1)의 우선 순위 확인 서로 다른 논리 연산자는 당신이 생각하는 것입니다 (왼쪽 대 오른쪽 연관을 포함하여). 2) 정말로 혼란 스러우면, 진리표 (모든 가능한 입력에 대한 결과)를 만드십시오. 확인하고 비교하십시오. – Patashu
진실 표를 반복하는 프로그램을 작성하는 것이 더 쉽습니다. –