목차

10과 20에 대한 비트 연산 결과를 정리 해 본다.
우선 이진수로 변환한 뒤 연산을 수행한다.
- 10 = 00001010
- 20 = 00010100
🧮 비트 연산 결과
연산 | 식 | 결과(이진수) | 결과(십진수) - 콘솔 |
AND (&) | 10 & 20 | 00000000 | 0 |
OR (`) | 10 | 20 | 00011110 | 30 |
XOR (^) | 10 ^ 20 | 00011110 | 30 |
NOT (~10) | ~10 | 11110101 (8비트 기준) | -11 |
왼쪽 시프트 (<<) | 10 << 1 | 00010100 | 20 |
오른쪽 시프트 (>>) | 20 >> 1 | 00001010 | 10 |
💡 참고
- || ← 이건 논리 OR (logical OR) 연산자 (C, Java 등에서 사용)
- | ← 이건 비트 OR (bitwise OR) 연산자 (Python, C, Java 등에서 사용)
✅ 1. AND 연산 (&)
- 비트끼리 AND → 둘 다 1일 때만 1
10: 00001010
20: 00010100
--------------
AND: 00000000 → 0
겹치는 비트 중에서 둘 다 1인 곳이 없어서 전부 0이 된다.
✅ 2. OR 연산 (|)
- 비트끼리 OR → 하나라도 1이면 1
10: 00001010
20: 00010100
--------------
OR: 00011110 → 30
비트 단위로 하나라도 1인 곳은 1이 된다.
✅ 3. XOR 연산 (^)
- 비트끼리 XOR → 서로 다르면 1, 같으면 0
10: 00001010
20: 00010100
--------------
XOR: 00011110 → 30
겹치는 비트가 다르면 1, 같으면 0이 돼요. 그래서 OR이랑 결과가 똑같이 나왔다.
✅ 4. NOT 연산 (~)
- 비트를 뒤집기 (1 → 0, 0 → 1)
10: 00001010
~10: 11110101 → -11 (2의 보수 표기 방식)
파이썬에서는 NOT 연산 후 부호까지 반영되기 때문에 결과가 음수가 된다. (10을 부정하면 -11)
✅ 5. 왼쪽 시프트 (<<)
- 비트를 왼쪽으로 밀기 (빈자리는 0으로 채움)
10: 00001010
10<<1: 00010100 → 20
1비트 왼쪽으로 밀면 값이 2배가 된다.
✅ 6. 오른쪽 시프트 (>>)
- 비트를 오른쪽으로 밀기
20: 00010100
20>>1: 00001010 → 10
오른쪽으로 1비트 밀면 값이 반으로 준다.
'ETC > 정보처리기사' 카테고리의 다른 글
[C언어] 변수의 유효범위, 논리연산자, 증감연산자, static 변수, global 변수 주의사항 정리 (3) | 2025.04.10 |
---|---|
[2024년 3회] 정보처리기사 실기 복원 문제 해설 (이건 누가 낸 문제야?🤯) (6) | 2025.04.07 |
[정보처리기사] 동기/비동기 전송, 흐름제어, 오류 제어, OSI 참조 모델, 프로토콜 등 (10) | 2025.04.05 |
[정보처리기사] 운영체제/ 기억장치 / 프로세스 / 스레드 / 교착상태 (1) | 2025.04.05 |
[정보처리기사] 프로세스 스케줄링 헷갈리는거 오답정리 (2) | 2025.04.04 |

10과 20에 대한 비트 연산 결과를 정리 해 본다.
우선 이진수로 변환한 뒤 연산을 수행한다.
- 10 = 00001010
- 20 = 00010100
🧮 비트 연산 결과
연산 | 식 | 결과(이진수) | 결과(십진수) - 콘솔 |
AND (&) | 10 & 20 | 00000000 | 0 |
OR (`) | 10 | 20 | 00011110 | 30 |
XOR (^) | 10 ^ 20 | 00011110 | 30 |
NOT (~10) | ~10 | 11110101 (8비트 기준) | -11 |
왼쪽 시프트 (<<) | 10 << 1 | 00010100 | 20 |
오른쪽 시프트 (>>) | 20 >> 1 | 00001010 | 10 |
💡 참고
- || ← 이건 논리 OR (logical OR) 연산자 (C, Java 등에서 사용)
- | ← 이건 비트 OR (bitwise OR) 연산자 (Python, C, Java 등에서 사용)
✅ 1. AND 연산 (&)
- 비트끼리 AND → 둘 다 1일 때만 1
10: 00001010 20: 00010100 -------------- AND: 00000000 → 0
겹치는 비트 중에서 둘 다 1인 곳이 없어서 전부 0이 된다.
✅ 2. OR 연산 (|)
- 비트끼리 OR → 하나라도 1이면 1
10: 00001010 20: 00010100 -------------- OR: 00011110 → 30
비트 단위로 하나라도 1인 곳은 1이 된다.
✅ 3. XOR 연산 (^)
- 비트끼리 XOR → 서로 다르면 1, 같으면 0
10: 00001010 20: 00010100 -------------- XOR: 00011110 → 30
겹치는 비트가 다르면 1, 같으면 0이 돼요. 그래서 OR이랑 결과가 똑같이 나왔다.
✅ 4. NOT 연산 (~)
- 비트를 뒤집기 (1 → 0, 0 → 1)
10: 00001010 ~10: 11110101 → -11 (2의 보수 표기 방식)
파이썬에서는 NOT 연산 후 부호까지 반영되기 때문에 결과가 음수가 된다. (10을 부정하면 -11)
✅ 5. 왼쪽 시프트 (<<)
- 비트를 왼쪽으로 밀기 (빈자리는 0으로 채움)
10: 00001010 10<<1: 00010100 → 20
1비트 왼쪽으로 밀면 값이 2배가 된다.
✅ 6. 오른쪽 시프트 (>>)
- 비트를 오른쪽으로 밀기
20: 00010100 20>>1: 00001010 → 10
오른쪽으로 1비트 밀면 값이 반으로 준다.
'ETC > 정보처리기사' 카테고리의 다른 글
[C언어] 변수의 유효범위, 논리연산자, 증감연산자, static 변수, global 변수 주의사항 정리 (3) | 2025.04.10 |
---|---|
[2024년 3회] 정보처리기사 실기 복원 문제 해설 (이건 누가 낸 문제야?🤯) (6) | 2025.04.07 |
[정보처리기사] 동기/비동기 전송, 흐름제어, 오류 제어, OSI 참조 모델, 프로토콜 등 (10) | 2025.04.05 |
[정보처리기사] 운영체제/ 기억장치 / 프로세스 / 스레드 / 교착상태 (1) | 2025.04.05 |
[정보처리기사] 프로세스 스케줄링 헷갈리는거 오답정리 (2) | 2025.04.04 |