-
Notifications
You must be signed in to change notification settings - Fork 1
🔵 brute force
sery270 edited this page Aug 24, 2020
·
1 revision
🧊비트 연산 개념
A << B → A * 2^B
A >> B → A / 2^B
🧊비트 연산 활용
(A + B) / 2 → (A + B) >> 1
if(N % 2 == 1) → if(N & 1)
570을 나타내기 → {1,3,4,5,9} → 2 + 2^3 + 2^4 + 2^5 + 2^9 —> 길이가 정해진 2진수를 나타내기 좋음
-
N번째 비트가 1인지 검사
570 & (1 << 0) 가 0이면 없는 것/ 0이 아니고 2^N이 나오면 있는 것
-
N번째 비트를 1로 바꾸기
570 & (1<<N) = 570 :: 이미 N번째 비트가 1인 경우
570 & (1<<N) = 570 + 2^N :: N번째 비트가 1이 아닌 경우
-
N번째 비트를 0로 바꾸기
570 & ~(1<<N) = 570 :: 이미 N번째 비트가 0인 경우
570 & ~(1<<N) = 570 - 2^N :: N번째 비트가 0이 아닌 경우