Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP의 gmp_and() 함수 완벽 가이드: 두 GMP 숫자의 비트 AND 연산

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 → 01100

  • 25 → 11001

  • AND 결과 → 01000, 즉 십진수 8

비트 AND 연산은 양쪽 비트가 모두 1일 때만 1을 반환하므로, 두 숫자에서 공통으로 1인 비트만 남게 됩니다. 위 예제에서는 세 번째 비트만 공통으로 1이므로 결과값이 8이 되는 것입니다.