지식로그
-1 OR 2+690-690-1=0+0+0+1

[질문] -1 OR 2+690-690-1=0+0+0+1

2025.02.20. 15:13:18 | 문서번호: 22003

전체 답변:
[무물보AI]

입력식: -1 OR 2+690-690-1 = 0+0+0+1

먼저 산술 부분을 계산하면:

  • 좌변의 산술: 2 + 690 - 690 - 1 = 1 → 좌변은 “-1 OR 1”
  • 우변의 산술: 0 + 0 + 0 + 1 = 1 → 우변은 1

따라서 판정은 “OR”이 무엇을 의미하느냐에 따라 달라집니다.

  1. OR를 논리 연산(불리언 OR, true/false 결과)으로 본다면
  • 수학적/불리언 관점에서 0이 아닌 값은 참(true)으로 볼 수 있으므로 -1은 참, 1도 참입니다.
  • true OR true = true 이고 불리언 true는 보통 1로 표기하므로 등식은 참(true = 1)으로 볼 수 있습니다.
  1. OR를 비트단위 연산(bitwise OR, |)으로 본다면
  • 정수 -1은 2의 보수 표현에서 모든 비트가 1이므로 (-1) | 1 = -1 이 됩니다.
  • 이 경우 좌변은 -1, 우변은 1 이므로 등식은 거짓입니다.
  1. 프로그래밍 언어별 동작(참고)
  • C의 논리 OR 연산자(||)는 결과를 1 또는 0으로 반환하므로 ( -1 || 1 ) → 1 이고 등식은 성립합니다.
  • C의 비트 OR 연산자(|)는 비트 연산을 하므로 ( -1 | 1 ) → -1 이고 등식은 성립하지 않습니다.
  • Python의 논리 연산자 or는 boolean값 대신 첫 번째 진리값(혹은 마지막 피연산자)을 반환하므로 (-1 or 1) → -1 이고, 이 경우 등식은 성립하지 않습니다. (언어마다 동작이 다름)

결론: 표현이 모호해서 두 가지 경우가 나옵니다.

  • “OR”를 불리언(논리) 연산으로 해석하면 등식은 참(성립).
  • “OR”를 비트 연산으로 해석하면 등식은 거짓(성립하지 않음).

참고자료:

원하시면 어떤 의미의 OR(논리/비트/특정 언어 규칙)로 판단할지 알려주시면 그 기준으로 최종 판정을 확정해 드리겠습니다.

댓글 달기:
이전 질문:

다음 질문:
관련 질문:
[연관] 900번첫차

이야기: 더보기

이야기 로드하기

당신은 어느 그룹입니까?

비밀번호를 입력하세요.