정수로 설정된 비트 수를 계산하려면 Java 코드는 다음과 같습니다. -
예
import java.io.*;
public class Demo{
static int set_bits_count(int num){
int count = 0;
while (num > 0){
num &= (num - 1);
count++;
}
return count;
}
public static void main(String args[]){
int num =11;
System.out.println("The number of set bits in 11 is ");
System.out.println(set_bits_count(num));
}
} 출력
The number of set bits in 11 is 3
위는 Brian Kernighan 알고리즘의 구현입니다. Demo라는 클래스에는 'set_bits_count'라는 정적 함수가 포함되어 있습니다. 이 함수는 숫자가 0인지 확인하고 그렇지 않으면 'count'라는 변수를 0으로 할당합니다. 숫자와 1만큼 감소한 숫자에 대해 'and' 연산을 수행합니다.
다음으로 이 연산 후에 'count' 값이 감소합니다. 결국 count 값이 반환됩니다. 메인 기능에서는 세트 비트를 찾아야 하는 값이 정의됩니다. 이 함수는 숫자를 매개변수로 전달하여 호출됩니다. 관련 메시지가 콘솔에 표시됩니다.