PHP의 gmp_popcount() 함수는 GMP 숫자를 이진수로 표현했을 때, 값이 1로 설정된 비트(셋 비트)의 개수를 반환하는 함수입니다. 큰 정수 연산에 유용한 GMP 확장 모듈에서 제공되며, 비트 연산 관련 작업에 활용됩니다.
문법
gmp_popcount (val)
매개변수
val: 비트를 셀 대상 GMP 숫자입니다. PHP 5.6 이상 버전에서는 GMP 객체를 사용할 수 있으며, 숫자 형태의 문자열도 허용됩니다.
반환값
gmp_popcount() 함수는 주어진 GMP 숫자의 이진수 표현에서 1로 설정된 비트의 총 개수를 정수(integer) 형태로 반환합니다.
예제
다음은 gmp_popcount() 함수의 기본적인 사용 예제입니다.
<?php
$val = "6";
$res = gmp_popcount($val);
echo $res;
?>
출력 결과
2
결과 설명
숫자 6을 이진수로 변환하면 110이 됩니다. 이때 1로 설정된 비트가 두 개이므로, 함수는 2를 반환합니다. 이처럼 gmp_popcount() 함수는 임의의 정밀도를 가진 큰 숫자에 대해서도 손쉽게 셋 비트 개수를 계산할 수 있습니다.