Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

정수의 세트 비트를 계산하는 Java 프로그램

<시간/>

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