PHP의 gmp_or() 함수란?
PHP의 gmp_or() 함수는 두 개의 GMP 숫자에 대해 비트 OR(bitwise OR) 연산을 수행하는 함수입니다. GMP는 임의 정밀도 정수를 다루기 위한 PHP 확장 모듈로, 일반 정수형 범위를 초과하는 매우 큰 숫자도 오차 없이 계산할 수 있다는 장점이 있습니다.
문법(Syntax)
gmp_or(n1, n2)
매개변수(Parameters)
n1: 첫 번째 GMP 숫자입니다. PHP 5.6 이상 버전에서는 GMP 객체를 사용할 수 있으며, 숫자 형태의 문자열도 허용됩니다.
n2: 두 번째 GMP 숫자입니다. PHP 5.6 이상 버전에서는 GMP 객체를 사용할 수 있으며, 숫자 형태의 문자열도 허용됩니다.
반환값(Return)
gmp_or() 함수는 두 GMP 숫자의 비트 OR 연산 결과를 GMP 숫자(GMP 객체) 형태로 반환합니다.
사용 예제(Example)
다음은 gmp_or() 함수를 활용한 간단한 예제입니다:
<?php
$res = gmp_or("5", "7");
echo $res;
?>
출력 결과(Output)
7
결과 해설
위 예제에서 출력 결과가 7이 되는 이유를 이진수로 살펴보면 다음과 같습니다:
5는 이진수로
1017은 이진수로
111두 값의 비트 OR 연산 결과는
111, 즉 십진수로 7이 됩니다.
비트 OR 연산은 두 숫자의 이진 표현에서 어느 한쪽이라도 비트가 1이면 결과 비트가 1이 되는 방식으로 동작합니다. 따라서 5(101)와 7(111)을 OR 연산하면 각 자리마다 하나라도 1이 존재하므로 111, 즉 7이 반환되는 것입니다.