~x + ~y == ~(x + y)는 항상 거짓인가요?

조회수 2231회

x, y모두 2의 보수라고 할 때 ~x + ~y == ~(x + y)는 항상 거짓인가요?

-5000이랑 5000사이의 숫자는 다 false가 뜨던데 어딘가에 참이 되는 숫자가 있지 않을까요

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    결론부터 말하면 ~x + ~y == ~(x + y)는 항상 거짓입니다.

    귀류법으로 증명해 보겠습니다. 먼저, ~(x+y) == ~x + ~y 이 참인 x, y가 있다고 가정하고,

    여기에서 x와 y는 2의 보수이므로 x, y에 대해 다음이 성립합니다.

    -x == ~x + 1
    <==>  -1 == ~x + x
    

    이걸 식에 계속 대입해보면

    ~(x+y) == ~x + ~y
    <==>  ~(x+y) + (x+y) == ~x + ~y + (x+y)
    <==>  ~(x+y) + (x+y) == (~x + x) + (~y + y)
    <==>  ~(x+y) + (x+y) == -1 + -1
    <==>  ~(x+y) + (x+y) == -2
    <==>  -1 == -2
    

    이므로, 이는 모순입니다. 그러므로 ~x + ~y == ~(x + y)는 항상 거짓입니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)