Skip to content

🔵 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이 아닌 경우

Clone this wiki locally