비트 연산
A | B | ~A | A&B | A|B | A^B |
---|---|---|---|---|---|
0 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 1 | 0 |
※ 어떤 수가 홀수인지 판별하는 if(N % 2 == 1) 은 if (N & 1)로 줄일 수 있다.
Not
not 연산의 경우에는 자료형에 따라 결과가 달라진다. unsigned나 signed에 따라 보여지는 값도 다르다.
num = 64 2진수 01000000
~ A = 10111111 8비트
~ A = 11111111 11111111 11111111 10111111 32비트 자료형
Shift left(<<)
A << B : A를 왼쪽으로 B 비트만큼 민다. A * 2^B 와 같다
1 << 1 = 2
1 << 2 = 4
1 << 4 = 16
3 << 3 = 24
5 << 10 = 5120
Shift right(>>)
A >> B : A를 오른쪽으로 B비트만큼 민다. A >> B A / 2^B
1 >> 0 = 1
1 >> 1 = 0
10 >> 1 = 5
10 >> 2 = 2
10 >> 3 = 1
1024 >> 10 = 1
'공부 > 알고리즘' 카테고리의 다른 글
1260 dfs와 bfs (0) | 2018.01.12 |
---|---|
14891 톱니바퀴 (0) | 2018.01.11 |
6593 - 상범빌딩 (0) | 2017.12.31 |
백준 14620 - 꽃길 (0) | 2017.12.29 |
2017년 삼성 sw 역량 테스트 문제입니다. (0) | 2017.12.28 |