gmp_mod
funkcja
Zwraca resztę z dzielenia (modulo) dwóch dowolnie dużych liczb całkowitych GMP.
gmp_mod(GMP|int|string $num1, GMP|int|string $num2): GMP
gmp_mod oblicza resztę z dzielenia $num1 przez $num2 i zwraca wynik jako obiekt GMP. Jest to odpowiednik operatora % dla dowolnie dużych liczb całkowitych. Operacja modulo jest fundamentem kryptografii asymetrycznej (RSA, DH) oraz testów pierwszości.
<?php
declare(strict_types=1);
$a = '100000000000000000000'; // 10^20
$b = 7;
$reszta = gmp_mod($a, $b);
echo $reszta; // wynik: 2
// Typowe użycie: sprawdzenie parzystości wielkiej liczby
$n = '123456789012345678901234567890';
echo gmp_mod($n, 2); // wynik: 0 (parzysta)
Argumenty mogą być obiektami GMP, liczbami int lub ciągami znaków. Wynik jest zawsze nieujemny. Gdy dzielnik wynosi 0, funkcja rzuca DivisionByZeroError — zabezpiecz kod przed tym przypadkiem. Do operacji na zwykłych int używaj operatora %.