gmp_and() 함수는 두 개의 GMP 숫자에 대해 비트 단위 AND(bitwise AND) 연산을 수행하고 그 결과를 반환하는 PHP의 GMP 확장 함수입니다. 임의 정밀도 정수가 필요한 암호화, 대규모 수치 계산 등에서 유용하게 활용됩니다.
구문
gmp_and($n1, $n2)
매개변수
n1 − 첫 번째 GMP 숫자입니다. PHP 5.6 이상 버전에서는 GMP 객체를 전달할 수 있으며, 숫자 문자열 형태로도 지정할 수 있습니다.
n2 − 두 번째 GMP 숫자입니다. 첫 번째 매개변수와 마찬가지로 GMP 객체 또는 숫자 문자열을 사용할 수 있습니다.
반환 값
gmp_and() 함수는 두 숫자의 비트 AND 연산 결과를 GMP 숫자 형태로 반환합니다.
예제
다음은 gmp_and() 함수의 기본적인 사용 예제입니다.
<?php $n1 = "12"; $n2 = "25"; $a = gmp_and($n1, $n2); echo $a; ?>
출력
위 예제를 실행하면 다음과 같은 결과가 출력됩니다.
8
결과 해설
왜 12와 25의 비트 AND 연산 결과가 8일까요? 이진수로 확인해 보면 이해하기 쉽습니다.
12 →
0110025 →
11001AND 결과 →
01000, 즉 십진수 8
비트 AND 연산은 양쪽 비트가 모두 1일 때만 1을 반환하므로, 두 숫자에서 공통으로 1인 비트만 남게 됩니다. 위 예제에서는 세 번째 비트만 공통으로 1이므로 결과값이 8이 되는 것입니다.