본문 바로가기
Computer Science

유용한 비트 연산들

by invrtd.h 2022. 8. 11.

 

출처 : <알고리즘 트레이닝>, 안티 라크소넨

x | (1 << k) : x의 k번째 비트를 1로 바꾸기

x & ~(1 << k) : x의 k번째 비트를 0으로 바꾸기

x ^ (1 << k) : x의 k번째 비트를 뒤집기

x & (x - 1) : 가장 오른쪽의 비트 1을 0으로 바꾸기

x & -x : 가장 오른쪽의 비트 1만 남기고 모두 0으로 바꾸기

x | (x - 1) : 마지막 비트 1 다음에 나오는 모든 비트 뒤집기

댓글