
PHP의 gmp_nextprime 함수는 1 이상의 정수만 입력받을 수 있습니다. 따라서 0을 입력하는 경우 에러가 발생하는 것입니다.
gmp_nextprime 함수에 1을 입력하여 초기값을 설정할 수 있습니다.
gmp_nextprime 함수의 반환값은 64비트 부호없는 정수 형태로 반환됩니다. 따라서 64비트 부호있는 정수 형태로 반환되도록 변경하는 방법은 없습니다.
그러나, 부호있는 정수를 구하고 싶다면, 반환값을 2의 제곱수인 2의 거듭제곱으로 나눈 후, 부호를 변경하는 방법을 사용할 수 있습니다.
예를 들어, gmp_nextprime 함수의 반환값이 64비트 부호없는 정수 형태로 반환되면, 다음과 같이 부호있는 정수를 구할 수 있습니다.
#hostingforum.kr
php
$nextPrime = gmp_nextprime(1, 10);
$signedNextPrime = gmp_strval(gmp_div_q($nextPrime, gmp_pow(2, 63)));
$signedNextPrime = ($signedNextPrime[0] == '-') ? '-' . substr($signedNextPrime, 1) : $signedNextPrime;
2025-04-27 14:39