gmp_div_qr
Description
The gmp_div_qr of GMP for PHP divides numbers and gets the quotient and remainder.
Syntax
gmp_div_qr(
GMP|int|string $num1,
GMP|int|string $num2,
int $rounding_mode = GMP_ROUND_ZERO
): arrayParameters
num1
The number being divided.
A GMP object, an int or a numeric string.
num2
The number that num1 is being divided by.
A GMP object, an int or a numeric string.
rounding_mode
The result rounding is defined by the rounding_mode:
| Value | Constant | Description |
|---|---|---|
| 0 | GMP_ROUND_ZERO | The result is truncated towards 0. |
| 1 | GMP_ROUND_PLUSINF | The result is rounded towards +infinity. |
| 2 | GMP_ROUND_MINUSINF | The result is rounded towards -infinity. |
Return
Returns an array, with the first element being [n/d] (the integer result of the division) and the second being (n - [n/d] * d) (the remainder of the division).
Examples
1 · num1 num2 · GMP
<? $num1 = 2; $num2 = 3; $num1 = gmp_init($num1); $num2 = gmp_init($num2); $return = gmp_div_qr($num1, $num2); var_dump($return);
array(2) {
[0]=>
object(GMP)#3 (1) {
["num"]=>
string(1) "0"
}
[1]=>
object(GMP)#4 (1) {
["num"]=>
string(1) "2"
}
}
2 · num1 num2 · int
<? $num1 = 2; $num2 = 3; $return = gmp_div_qr($num1, $num2); var_dump($return);
array(2) {
[0]=>
object(GMP)#1 (1) {
["num"]=>
string(1) "0"
}
[1]=>
object(GMP)#2 (1) {
["num"]=>
string(1) "2"
}
}
3 · num1 num2 · string
<? $num1 = "2"; $num2 = "3"; $return = gmp_div_qr($num1, $num2); var_dump($return);
array(2) {
[0]=>
object(GMP)#1 (1) {
["num"]=>
string(1) "0"
}
[1]=>
object(GMP)#2 (1) {
["num"]=>
string(1) "2"
}
}
4 · rounding_mode · GMP_ROUND_ZERO
<? $num1 = 2; $num2 = 3; $rounding_mode = GMP_ROUND_ZERO; $return = gmp_div_qr($num1, $num2, $rounding_mode); var_dump($return);
array(2) {
[0]=>
object(GMP)#1 (1) {
["num"]=>
string(1) "0"
}
[1]=>
object(GMP)#2 (1) {
["num"]=>
string(1) "2"
}
}
5 · rounding_mode · GMP_ROUND_PLUSINF
<? $num1 = 2; $num2 = 3; $rounding_mode = GMP_ROUND_PLUSINF; $return = gmp_div_qr($num1, $num2, $rounding_mode); var_dump($return);
array(2) {
[0]=>
object(GMP)#1 (1) {
["num"]=>
string(1) "1"
}
[1]=>
object(GMP)#2 (1) {
["num"]=>
string(2) "-1"
}
}
6 · rounding_mode · GMP_ROUND_MINUSINF
<? $num1 = -2; $num2 = 3; $rounding_mode = GMP_ROUND_MINUSINF; $return = gmp_div_qr($num1, $num2, $rounding_mode); var_dump($return);
array(2) {
[0]=>
object(GMP)#1 (1) {
["num"]=>
string(2) "-1"
}
[1]=>
object(GMP)#2 (1) {
["num"]=>
string(1) "1"
}
}
Links
Related
GMP
- gmp_abs
- gmp_add
- gmp_and
- gmp_binomial
- gmp_clrbit
- gmp_cmp
- gmp_com
- gmp_div
- gmp_div_q
- gmp_div_r
- gmp_divexact
- gmp_export
- gmp_fact
- gmp_gcd
- gmp_gcdext
- gmp_hamdist
- gmp_import
- gmp_init
- gmp_intval
- gmp_invert
- gmp_jacobi
- gmp_kronecker
- gmp_lcm
- gmp_legendre
- gmp_mod
- gmp_mul
- gmp_neg
- gmp_nextprime
- gmp_or
- gmp_perfect_power
- gmp_perfect_square
- gmp_popcount
- gmp_pow
- gmp_powm
- gmp_prob_prime
- gmp_random_bits
- gmp_random_range
- gmp_random_seed
- gmp_root
- gmp_rootrem
- gmp_scan0
- gmp_scan1
- gmp_setbit
- gmp_sign
- gmp_sqrt
- gmp_sqrtrem
- gmp_strval
- gmp_sub
- gmp_testbit
- gmp_xor