1. 논리 연산
논리 연산은 프로그래밍에서 조건을 판단하고 결합할 때 사용되는 기본적 연산입니다.
주로 Boolean값으로 참(True) 또는 거짓(False) 사이의 연산을 수행할 때 사용하는 것입니다.
연산의 종류로는 AND, OR, NOT, XOR 연산이 있습니다.
AND 연산은 둘 다 참이면 참입니다.
OR 연산은 둘 중 하나라도 참이면 참입니다.
NOT 연산은 참을 거짓으로, 거짓을 참으로 바꿉니다.
XOR 연산은 두 조건이 서로 다르면 참이고, 같으면 거짓입니다.
2. 비트 연산
비트 연산은 논리 연산을 비트 단위로 수행하는것을 말 합니다.
1은 참, 0은 거짓을 나타냅니다.
OR : 두 비트 중 하나라도 1 이면 1입니다.
AND: 두 비트 모두 1이면 1입니다.
XOR: 두 비트가 같으면 0, 다르면 1입니다.
NOT: 비트가 0이면 결과는1, 1이면 결과는 0입니다.
▶ shift 연산자
비트(bit) 단위로 왼쪽이나 오른쪽으로 이동시키는 연산자입니다.
shift 연산자의 종류로는 << , >> , >>> 연산자가 존재합니다.
- 왼쪽 시프트 연산자 ( x << n )
비트를 n 만큼 왼쪽으로 이동시키고 빈 칸은 모두 0으로 채웁니다.
결과는 x * (2^n)이 됩니다.
2. 오른쪽 시프트 연산자 ( x >> n )
비트를 n만큼 오른쪽으로 이동시키고 빈 칸은 MSB와 동일한 비트로 채웁니다. ( 부호유지 )
결과는 x / (2^n)이 됩니다.
3. 논리 시프트 연산자 ( x >>> n ) , ( x <<< n )
비트를 n만큼 오른쪽/왼쪽 으로 이동시키고 빈 칸은 모두 0으로 채웁니다. ( 음수 부호 유지 안됩니다. )
참고 문헌
- https://fastbitlab.com/logical-operators-in-c/
- https://www.baeldung.com/java-xor-operator
- https://www.xsharp.eu/help/bitwise_operators.html
- https://www.scientecheasy.com/2020/05/shift-operator-in-java.html/
- https://dreamhack.io/
'knowledge > 기타 지식' 카테고리의 다른 글
Base64 (0) | 2024.05.11 |
---|---|
인코딩과 디코딩 (0) | 2024.04.02 |
bit, byte, Byte ordering (0) | 2024.04.02 |
진법 (2) | 2024.04.02 |
컴퓨터 과학(Computer Science)이란? (0) | 2024.04.01 |