이진 코드는 정보나 데이터를 표현하기 위해 이진수 체계를 사용하는 시스템입니다. 모든 값을 나타내기 위해 일반적으로 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의 위치에 해당)가 있습니다.
요약하자면 재귀적 접근 방식과 모든 비트를 반복하는 방식을 사용하여 정수의 설정된 비트 수(1)를 계산할 수 있습니다. 루프 방법에는 while 루프를 사용하여 정수의 각 비트를 반복하는 작업이 포함됩니다. 카운터 변수를 초기화하고 숫자가 0이 될 때까지 반복합니다. 루프 내에서 비트 AND 연산자를 사용하여 1로 비트 AND를 수행하여 최하위 비트를 확인합니다. 1과 같으면 카운터를 증가시킵니다. 그런 다음 1번 위치를 오른쪽으로 이동합니다. 이 프로세스는 모든 비트가 확인되고 최종 카운트가 반환될 때까지 계속됩니다.
재귀적 방법의 경우 정수를 입력으로 사용하는 재귀 함수를 정의할 수 있습니다. 함수 내에서 비트 AND 연산자와 1을 사용하여 최하위 비트를 확인합니다. 1과 같으면 카운터를 증가시킵니다. 그런 다음 숫자를 오른쪽으로 한 자리 이동하고 업데이트된 숫자로 함수를 재귀적으로 호출합니다. 기본적인 경우는 숫자가 0에 도달하면 카운터 값을 반환하는 것입니다. 이 방법은 숫자가 0이 될 때까지 설정된 비트를 반복적으로 계산합니다. 두 방법 모두 프로그래머의 특정 요구와 선호도에 따라 다양한 구현 옵션을 사용하여 정수로 설정된 비트를 계산하는 방법을 제공합니다.
위 내용은 정수의 설정된 비트 수를 계산하는 PHP 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!