현재 위치: > 최신 기사 목록> PHP를 사용하여 정수의 세트 비트 수를 계산하는 방법

PHP를 사용하여 정수의 세트 비트 수를 계산하는 방법

gitbox 2025-06-15

소개하다

컴퓨터 과학에서는 종종 이진수로 설정된 비트 수를 계산해야합니다. 이것은 암호화, 코딩 및 컴퓨터 보안과 같은 많은 분야에서 널리 사용됩니다. 이 기사에서는 PHP를 사용하여 프로그램을 작성하여 정수의 세트 비트 수를 계산하는 방법을 설명합니다.

이진 번호

비트 수를 계산하기 전에 먼저 이진 번호를 이해해야합니다. 이진 번호는 두 문자 "0"과 "1"로만 구성됩니다. 각 숫자는 카디널리티가 2의 카디널리티를 갖는 다른 중량 지수를 나타냅니다. 예를 들어, 소수점 5의 이진 표현은 101입니다. $ 1*2^2 + 0*2^1 + 1*2^0 = 5 $로 계산됩니다.

설정 비트

숫자 1의 값을 가진 비트를 "세트 비트"라고합니다. 우리가 계산해야 할 것은 정수에 그러한 세트 비트가 얼마나 많은지입니다.

프로그램 작성

세트 비트 수를 계산하는 것은 복잡한 작업이 아니지만 효율적이고 올바르게 실행되는 알고리즘을 사용해야합니다. 다음으로 PHP 기능을 작성 하여이 기능을 구현합니다.

 
function countSetBits($num) {
    $count = 0;
    while ($num > 0) {
        $count += $num & 1;
        $num >>= 1;
    }
    return $count;
}

이 기능은 비트 작동 기술을 사용하여 모든 비트에서 직접 작동 할 수 있습니다. 간단한 루프를 통해 숫자의 각 비트를 확인하십시오. 해당 비트가 1이면 카운터가 증가합니다.

분석

"비트 작동"은 이진 번호를 사용한 수학적 계산을 나타냅니다. PHP에서는 "&", "|", "^", "~", "<<"및 ">>와 같은 연산자를 사용할 수 있습니다.

우리의 기능에서 "&"및 ">>"연산자가 사용됩니다.

1. "&"연산자는 숫자와 1의 비트 동작에 사용됩니다. 결과가 1 인 경우 현재 비트가 1이고 카운터가 1 씩 증가 함을 의미합니다.

2. ">>"연산자는 다음을 비교할 수 있도록 숫자를 하나씩 올바르게 움직입니다.

프로그램을 실행하십시오

기능을 테스트하고 결과를 출력하는 코드는 다음과 같습니다.

 
$num = 15;
$bits = countSetBits($num);
echo "Number of set bits in " . $num . " is " . $bits;

위 코드의 출력 결과는 다음과 같습니다.

15의 세트 비트 수는 4입니다

요약

PHP를 사용하여 프로그램을 작성하여 숫자의 세트 비트 수를 계산하는 것은 복잡하지 않습니다. 비트 작동 기술을 사용하여 숫자의 이진 표현을 비트별로 비교하여 총 설정 비트 수를 계산할 수 있습니다. 이 기술을 마스터하면 컴퓨터의 기본 원리를 더 잘 이해하는 데 도움이 될뿐만 아니라 암호화 및 코딩과 같은 기술 분야에 적용하는 데 도움이됩니다.