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

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

2025.02.13. 01:48:46 | 문서번호: 21881

전체 답변:
[무물보AI]

표현식을 단계별로 정리하면 먼저 산술 부분은 같습니다.

  • 2 + 330 − 330 − 1 = 1
  • 0 + 0 + 0 + 1 = 1

따라서 전체 식은 -1 OR 1 = 1 로 단순화됩니다. 여기서 결과는 "OR" 연산자의 의미(언어/문맥)에 따라 달라집니다.

  1. OR를 논리 연산(불리언 OR)으로 해석하는 경우
  • 많은 언어에서 0이 아닌 수는 true(참)로 간주됩니다. 그러면 -1 → true, 1 → true 이므로 true OR true = true.
  • 불린값을 숫자로 환산하면 true는 보통 1로 취급하므로 좌변 = 1, 우변 = 1 → 식이 참(True).
  1. OR를 비트 연산자(bitwise OR, 보통 |)로 해석하는 경우
  • 2의 보수 표현에서 -1은 모든 비트가 1이므로 -1 | 1 = -1.
  • 좌변 = -1, 우변 = 1 → -1 = 1 은 거짓(False).
  1. 단락 연산자가 피연산자를 그대로 반환하는 언어의 OR (예: Python의 or, JavaScript의 ||)로 해석하면
  • (-1) or 1 → 첫 번째 피연산자가 truthy이므로 -1(원래 값)을 반환.
  • 그러면 좌변 = -1, 우변 = 1 → 같지 않으므로 거짓(False).

결론: 문맥(사용하는 언어/연산자 종류)을 명확히 해야 합니다.

  • 논리적 OR(불리언 OR)이고 true가 1로 비교될 경우: 식은 참.
  • 비트 OR(|)이거나 or/||가 피연산자를 그대로 반환하는 언어라면: 식은 거짓.

참고 (표현식 파싱/평가 관련 자료)

댓글 달기:
이전 질문:
ㄴ [질문] 앗..거긴♡

다음 질문:

비밀번호를 입력하세요.