Machineboy空
비트연산자 활용법 - 비트 bool 배열 확인 본문
비트연산 활용
idx번째 비트 끄기 | S &= -(1<< idx) |
idx번째 비트 XOR 연산 | S ^= (1 << idx) |
최하위 켜져있는 비트 찾기 | idx = (S & -S) |
크기가 n인 집합의 모든 비트를 켜기 | (1 << n) -1 |
idx번째 비트를 켜기 | S |= (1 << idx) |
idx번째 비트가 켜져있는지 확인하기 | if(S & (1 << idx)) |
idx 번째 비트 끄기
S &= ~ (1 << idx)
int S = 18;
int idx = 1;
S &= ~(1 << idx);
cout << S << '\n';
// 결과값 16 , 10000(2)
idx 번째 비트 XOR연산
S ^= (1 << idx)
토글 기능이랑 비슷, 스위치 켜고 끄기처럼 원하는 idx 비트 껐다 켰다 하는 법
최하위 켜져있는 비트 찾기
idx = (S & -S)
크기가 n인 집합의 모든 비트 켜기
(1 << n) -1
idx번째 비트를 켜기
S |= (1 << idx)
idx번째 비트가 켜져있는지 확인하기
if(S & (1 << idx))
'Computer > 알고리즘' 카테고리의 다른 글
애드혹(ad-hoc) 알고리즘 (0) | 2024.07.02 |
---|---|
모듈러 연산과 유클리드 호제법 (0) | 2024.06.17 |
완전탐색(브루트포스), 백트래킹(back tracking) - 조합 재귀함수 구현코드, 원상복구 (0) | 2024.02.21 |
트리 순회 (Tree traversal) - 후위 순회, 전위 순회, 중위 순회 (0) | 2024.02.08 |
깊이우선탐색(DFS) vs 너비우선탐색(BFS) (1) | 2024.02.08 |