"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 정수의 세트 비트를 계산하는 PHP 프로그램

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

2024-08-29에 게시됨
검색:633

바이너리 코드란 무엇입니까?

이진 코드는 2진법을 사용하여 정보나 데이터를 표현하는 시스템입니다. 모든 값을 나타내기 위해 일반적으로 0과 1이라는 두 자리 숫자만 사용합니다. 이진 코드의 각 숫자를 비트(Binary digit의 줄임말)라고 합니다.

이진 코드에서 각 숫자는 2의 거듭제곱을 나타냅니다. 가장 오른쪽 숫자부터 시작하여 2의 거듭제곱은 오른쪽에서 왼쪽으로 증가합니다. 예를 들어, 8비트 이진 코드에서 가장 오른쪽 비트는 2^0(1)을 나타내고, 다음 비트는 2^1(2)을 나타내고, 다음 비트는 2^2(4)를 나타내는 식입니다.

십진수 42를 이진수 코드로 표현해 보겠습니다. 42를 이진수로 변환하려면 이를 2로 연속적으로 나누고 몫이 0이 될 때까지 나머지를 추적합니다.

단계별 프로세스는 다음과 같습니다.

1단계

42 ¼ 2 = 21, 나머지 0

2단계

21 ¼ 2 = 10, 나머지 1

3단계

10 ¼ 2 = 5, 나머지 0

4단계

5 ¼ 2 = 2, 나머지 1

5단계

2 ¼ 2 = 1, 나머지 0

6단계

1 ¼ 2 = 0, 나머지 1

이진 표현을 얻으려면 맨 아래(마지막 나머지)부터 시작하여 나머지를 아래에서 위로 읽습니다.

42 에 대한 결과 이진 코드는 다음과 같습니다. 101010

그래서 십진수 42는 이진수 코드로 101010으로 표현됩니다.

Setbit이 무엇인가요?

바이너리 코드에서 세트 비트(set bit)는 1의 값으로 설정된 이진수(비트)를 의미하고, 클리어 비트(clear bit)는 의 값으로 설정된 이진수를 의미한다. 0.

예를 들어 바이너리 코드 101010에는 3개의 세트 비트(값이 1인 위치에 해당)와 3개의 클리어 비트(값이 0인 위치에 해당)가 있습니다.

정수로 설정된 비트를 계산하는 PHP 프로그램

PHP Program to Count set Bits in an Integer

방법 1: 정수의 모든 비트를 반복합니다.

>= 1;
	}
	return $count;
}

// Driver Code
$number= 12;
echo "Number of setbits in $number: " .countSetBits($number);
?>

산출

Number of setbits in 12: 2

방법 2: 재귀적 접근 방식

> 1);
}

// Driver code

// get value from user
$n = 123;

// function calling
echo "Number of setbits in $n are: ".countSetBits($n);
?>

산출

Number of setbits in 123 are: 6

결론

결론적으로, 재귀 접근 방식과 PHP의 모든 비트를 통한 루프를 모두 사용하여 정수로 설정된 비트(1)를 계산할 수 있습니다. 루프 접근 방식에는 while 루프를 사용하여 정수의 각 비트를 반복하는 작업이 포함됩니다. 카운터 변수를 초기화하고 숫자가 0이 될 때까지 반복합니다. 루프 내에서 1과 함께 비트 AND를 사용하여 최하위 비트를 확인합니다. 1과 같으면 카운터를 증가시킵니다. 그런 다음 숫자를 1비트만큼 오른쪽으로 이동합니다. 이 프로세스는 모든 비트가 확인되고 최종 카운트가 반환될 때까지 계속됩니다.

재귀적 접근 방식의 경우 정수를 입력으로 사용하는 재귀 함수를 정의할 수 있습니다. 함수 내에서 1의 비트 AND 연산자를 사용하여 최하위 비트를 확인합니다. 1과 같으면 카운터를 증가시킵니다. 그런 다음 숫자를 1비트씩 오른쪽으로 이동하고 업데이트된 숫자로 함수를 재귀적으로 호출합니다. 기본 사례는 숫자가 0이 되는 경우이며, 이 시점에서 카운터를 반환합니다. 이 접근 방식은 숫자가 0이 될 때까지 설정된 비트를 반복적으로 계산합니다. 두 접근 방식 모두 정수로 설정된 비트를 계산하는 방법을 제공하므로 프로그래머의 특정 요구와 선호도에 따라 다양한 구현 선택이 가능합니다.

릴리스 선언문 이 기사는 https://www.tutorialspoint.com/php-program-to-count-set-bits-in-an-integer에 복제되어 있습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3