본문 바로가기

컴퓨터/컴퓨터 시험

정보처리 기능사(논리 연산자) AND, OR, XOR

728x90

1. AND 연산자

  • AND 연산자는 두 조건이 모두 참일 때 **참(True)**을 반환하는 논리 연산자입니다.
  • 비트 연산자로서 AND는 두 숫자의 각 비트를 비교하여, 두 비트가 모두 1일 때만 1을 반환하고, 그 외에는 0을 반환합니다.

논리 AND 연산

  • 조건이 두 개 이상일 때, 모든 조건이 일 때만 을 반환합니다.
  • 예시:
    • true AND true → true
    • true AND false → false
    • false AND false → false

비트 AND 연산

  • 각 비트를 비교하여 두 비트가 모두 1일 때만 1을 반환합니다.
  • 예시:
    • 5 & 3 → 이진수로 0101 & 0011 = 0001 → 결과는 1

구문 (비트 AND):

 
int a = 5; // 이진수 0101
int b = 3; // 이진수 0011
int result = a & b; // 결과는 0001 (1)

2. OR 연산자

  • OR 연산자는 두 조건 중 하나라도 이면 결과가 논리 연산자입니다.
  • 비트 연산자로서 OR는 두 숫자의 각 비트를 비교하여, 두 비트 중 하나라도 1이면 1을 반환합니다.

논리 OR 연산

  • 조건이 두 개 이상일 때, 하나라도 이면 을 반환합니다.
  • 예시:
    • true OR true → true
    • true OR false → true
    • false OR false → false

비트 OR 연산

  • 각 비트를 비교하여 두 비트 중 하나라도 1일 때 1을 반환합니다.
  • 예시:
    • 5 | 3 → 이진수로 0101 | 0011 = 0111 → 결과는 7

구문 (비트 OR):

int a = 5; // 이진수 0101
int b = 3; // 이진수 0011
int result = a | b; // 결과는 0111 (7)

3. XOR (배타적 OR) 연산자

  • XOR (Exclusive OR) 연산자는 두 조건이 서로 다를 때만 을 반환하는 논리 연산자입니다.
  • 비트 연산자로서 XOR는 두 숫자의 각 비트를 비교하여, 두 비트가 다를 때만 1을 반환하고, 두 비트가 같을 때는 0을 반환합니다.

논리 XOR 연산

  • 조건이 두 개 이상일 때, 두 조건이 다를 때만 참을 반환합니다.
  • 예시:
    • true XOR true → false
    • true XOR false → true
    • false XOR false → false

비트 XOR 연산

  • 각 비트를 비교하여 두 비트가 다를 때만 1을 반환하고, 같을 때는 0을 반환합니다.
  • 예시:
    • 5 ^ 3 → 이진수로 0101 ^ 0011 = 0110 → 결과는 6

구문 (비트 XOR):

int a = 5; // 이진수 0101
int b = 3; // 이진수 0011
int result = a ^ b; // 결과는 0110 (6)

4. 각 연산자의 동작 예시

비트 연산자 예시

연산자 5 (0101) 3 (0011) 결과
AND 0101 0011 0001 (1)
OR 0101 0011 0111 (7)
XOR 0101 0011 0110 (6)

논리 연산자 예시

연산자 A (참/거짓) B (참/거짓) 결과
AND true true true
AND true false false
OR true false true
XOR true false true
XOR true true false

 

결론:

  • AND: 두 조건 또는 비트가 모두 참일 때 (비트 연산에서 둘 다 1일 때 1).
  • OR: 두 조건 또는 비트 중 하나라도 참이면 (비트 연산에서 하나라도 1이면 1).
  • XOR: 두 조건 또는 비트가 다를 때만 참 (비트 연산에서 두 비트가 다를 때 1).

각 연산자는 논리 연산비트 연산에서 중요한 역할을 하며, 프로그래밍, SQL 쿼리, 시스템 설계 등 다양한 분야에서 널리 사용됩니다.

728x90