정수로 설정된 비트 수를 계산하려면 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 값이 반환됩니다. 메인 기능에서는 세트 비트를 찾아야 하는 값이 정의됩니다. 이 함수는 숫자를 매개변수로 전달하여 호출됩니다. 관련 메시지가 콘솔에 표시됩니다.