>  기사  >  백엔드 개발  >  정수의 설정된 비트 수를 계산하는 PHP 프로그램

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

PHPz
PHPz앞으로
2023-08-22 11:41:13831검색

바이너리 코드란 무엇인가요?

이진 코드는 정보나 데이터를 표현하기 위해 이진수 체계를 사용하는 시스템입니다. 모든 값을 나타내기 위해 일반적으로 0과 1이라는 두 개의 숫자만 사용합니다. 이진 코드의 각 숫자를 비트(Binary Digit의 약어)라고 합니다.

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

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

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

첫걸음

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으로 표현됩니다.

셋비트란 무엇인가요?

바이너리 코드에서 세트 비트는 1로 설정된 이진수(비트)를 나타냅니다. 반면, 클리어 비트는 0으로 설정된 이진수(비트)를 말합니다.

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

PHP 프로그램: 정수로 설정된 비트 수를 계산합니다

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

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

으아악

출력

으아악

방법 2: 재귀적 방법

으아악

출력

으아악

결론

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

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

위 내용은 정수의 설정된 비트 수를 계산하는 PHP 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제