2016-12-13 1 views
1

PHP를 사용하여이 두 십진수를 XOR하고 싶습니다. 나는 비트 연산자 XOR (^)을 시도했지만, 십진수로도 출력하기 때문에 출력이 잘못되었습니다.PHP를 사용하여 두 개의 십진수에 대한 십진수 Xor를 계산하십시오.

첫번째 번호 = 121065035052

초 수 = 210,022,101 예상 소수점 약하게 출력 = 121274989561

echo 210022101^121065035052 ; 

이 echo 문의 출력은 다음과 같습니다 1,015,905,273

가 저를 도와주세요. 미리 감사드립니다.

+0

"이 기능을 시도했지만 ..."- 어떤 기능이 있습니까? –

+1

@Hallur^function –

+0

그것은 여기에서 작동합니다 : http://phptester.net/ – deChristo

답변

0

첫 번째 숫자 121065035052는 37 비트 숫자이므로 코드는 64 비트 PHP에서만 작동합니다. 32 비트 PHP와의 호환성을 위해 GMP를 사용하십시오.

$a = gmp_init('121065035052'); 
$b = gmp_init('210022101'); 
$c = gmp_xor($a,$b); 

echo gmp_strval($c); 

출력은 예상대로 121274989561입니다.

관련 문제