비트마스킹 (Bit Manipulation) 설명:
비트마스킹은 이진 숫자 표현에서의 개별 비트(bit)를 조작하는 기법을 의미합니다. 컴퓨터는 모든 정보를 비트로 표현하므로 비트 연산을 이용하면 특정 연산들을 매우 빠르게 수행할 수 있습니다. 비트마스킹은 주로 공간 효율성이나 연산 속도 향상을 위해 사용됩니다.
비트 연산의 기본:
비트마스킹의 대표적인 사용 예:
예제와 솔루션 (이진 표현에서 1의 개수 세기):
문제:
정수 n을 입력으로 받아, 그 수의 이진 표현에서 1의 개수를 반환하라.
function countOnes(n) {
let count = 0;
while (n) {
count += n & 1;
n >>= 1;
}
return count;
}
console.log(countOnes(11)); // 출력: 3 (11의 이진 표현: 1011)
위 코드는 주어진 숫자 n의 이진 표현에서 1의 개수를 세는 함수를 보여줍니다. 비트 AND 연산과 오른쪽 시프트 연산을 사용하여 이를 수행합니다.
비트마스킹은 다양한 문제에서 공간 및 시간 효율성을 크게 향상시킬 수 있는 강력한 도구입니다.