개요
gmp_hamdist() 함수는 두 GMP 숫자 사이의 해밍 거리(Hamming Distance)를 계산하는 데 사용됩니다. 해밍 거리란 두 숫자를 이진수로 표현했을 때 서로 다른 비트의 개수를 의미합니다.
문법
gmp_hamdist(n1, n2)
매개변수
n1 − 첫 번째 GMP 숫자입니다. PHP 5.6 이상 버전에서는 GMP 객체를 사용할 수 있으며, 숫자 문자열도 지원합니다.
n2 − 두 번째 GMP 숫자입니다. PHP 5.6 이상 버전에서는 GMP 객체를 사용할 수 있으며, 숫자 문자열도 지원합니다.
참고: 두 매개변수 모두 음수가 아닌(non-negative) 값이어야 합니다.
반환값
gmp_hamdist() 함수는 두 숫자 간의 해밍 거리를 GMP 숫자 형태로 반환합니다.
예제
다음은 gmp_hamdist() 함수의 기본적인 사용 예제입니다 −
<?php
$n1 = "5";
$n2 = "5";
$dist = gmp_hamdist($n1, $n2);
echo $dist;
?>
출력
위 코드의 실행 결과는 다음과 같습니다 −
0
두 숫자가 완전히 동일하기 때문에 서로 다른 비트가 없어 해밍 거리는 0이 됩니다.
추가 예제
이번에는 서로 다른 두 숫자를 비교해 보겠습니다 −
<?php
$n1 = "11"; // 이진수: 1011
$n2 = "13"; // 이진수: 1101
echo gmp_hamdist($n1, $n2);
?>
실행 결과 −
2
11(1011)과 13(1101)을 이진수로 비교하면 세 번째와 네 번째 비트가 서로 다르므로 해밍 거리는 2입니다.