PHP Conference Japan 2024

gmp_invert

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_invert模反元素

描述

gmp_invert(GMP|int|string $num1, GMP|int|string $num2): GMP|false

计算 num1num2 的反元素。

参数

num1

一个 GMP 对象,一个 int,或者一个 string,可以解释为一个数字,遵循与在 gmp_init() 中使用字符串进行自动基数检测相同的逻辑(即,当 base 等于 0 时)。

num2

一个 GMP 对象,一个 int,或者一个 string,可以解释为一个数字,遵循与在 gmp_init() 中使用字符串进行自动基数检测相同的逻辑(即,当 base 等于 0 时)。

返回值

成功时返回一个 GMP 数,如果不存在反元素则返回 false

示例

示例 #1 gmp_invert() 示例

<?php
echo gmp_invert("5", "10"); // 没有反元素,不输出任何内容,结果为 FALSE
$invert = gmp_invert("5", "11");
echo
gmp_strval($invert) . "\n";
?>

以上示例将输出

9

添加注释

用户贡献的注释 1 个注释

2
athamidn at gmail dot com
4 年前
示例 #2 gmp_invert() 示例
<?php
echo gmp_invert("5", "10"); // 没有反元素,不输出任何内容,结果为 FALSE

这意味着 (5 * x ) mod 10 = 1. 并且使用此 函数,我们想要 x 的值,因为 mod 10,x 应该是 {1.. 10-1(9)}, 所以:

5 * 1 mod 10 = 5
5
* 2 mod 10 = 0
5
* 3 mod 10 = 5
5
* 4 mod 10 = 0
5
* 5 mod 10 = 5
5
* 6 mod 10 = 0
5
* 7 mod 10 = 5
5
* 8 mod 10 = 0
5
* 9 mod 10 = 5
我们在结果中没有找到任何 1. 所以它将是 False。

$invert = gmp_invert("5", "11");

echo gmp_strval($invert) . "\n";
?>

以上示例将输出:

9

5 * 9 mod 11 = 1
To Top