PHP-gmp 函数


什么是 GMP?

GMP 代表 GNU 多精度算术库 (GMP)。

GMP 是 PHP 支持的一个库,允许您对有符号整数、有理数和浮点数进行数学运算。GMP 拥有丰富的函数集合,有助于对大数执行复杂的数学运算。据说 GMP 在计算非常大的数字的最终结果时速度更快。

GMP 在密码学、互联网安全等应用以及处理算术运算的软件中非常有用。

PHP 中的 GMP 安装

GMP 模块默认添加到 PHP 中。您可以通过删除php.ini 中扩展开头添加的(;) ;extension=gmp来激活它。之后重新启动 apache 并确认更改是否生效。将下面的代码保存为 .php 并在浏览器中执行相同的操作。

<?php
   phpinfo();
?>

您应该在浏览器中看到启用的 GMP,如下所示 -

GMP规范

GMP功能

下表列出了与 PHP GMP 函数相关的所有函数。这里的版本表示支持该功能的最早的PHP版本。

先生编号 功能说明 版本
1 gmp_abs()

返回绝对值

5.0.0
2 gmp_add()

返回两个数字的和

5.0.0
3 gmp_and()

返回两个数字的按位 AND 比较

5.0.0
4 gmp_二项式()

计算二项式系数

7.3.0
5 gmp_clrbit()

清除该位

5.0.0
6 gmp_cmp()

比较两个 GMP 编号

5.0.0
7 gmp_com()

计算补码

5.0.0
8 gmp_div_q()

除给定数字

5.0.0
9 gmp_div_qr()

除给定数字并返回商和余数

5.0.0
10 gmp_div_r()

除给定数字并返回余数

5.0.0
11 gmp_div()

除给定数字

5.0.0
12 gmp_divexact()

给出给定数字的精确除法

5.0.0
13 gmp_导出()

导出二进制字符串

5.6.1
14 gmp_fact()

计算给定数字的阶乘

5.0.0
15 gmp_gcd()

计算给定数字的 GCD

5.0.0
16 gmp_gcdext()

计算给定数字的 GCD 和乘数

5.0.0
17 号 gmp_hamdist()

计算两个给定数字之间的汉明距离

5.0.0
18 gmp_import()

从二进制字符串导入

5.6.1
19 gmp_init()

创建 GMP 编号

5.0.0
20 gmp_intval()

将 GMP 编号转换为整数

5.0.0
21 gmp_invert()

返回给定 GMP 数字的模逆

5.0.0
22 gmp_雅可比()

计算雅可比符号

5.0.0
23 gmp_kronecker()

计算克罗内克符号

7.3.0
24 gmp_lcm()

计算给定 GMP 编号的 LCM

7.3.0
25 gmp_legendre()

计算勒让德符号

5.0.0
26 gmp_mod()

返回模数

5.0.0
27 gmp_mul()

乘以 GMP 数字

5.0.0
28 gmp_neg()

返回给定数字的负值

5.0.0
29 gmp_​nextprime()

帮助找到下一个素数

5.2.0
30 gmp_or()

计算给定数字的按位或

5.0.0
31 gmp_​perfect_​power()

检查 GMP 数是否为完美幂

7.3.0
32 gmp_perfect_square()

检查 GMP 数是否为完全平方数

5.0.0
33 gmp_popcount()

计算人口数量

5.0.0
34 gmp_pow()

返回给定数字的幂结果

5.0.0
35 gmp_powm()

返回给定数字的取模次方后的新数字

5.0.0
36 gmp_prob_prime()

检查 GMP 数是否为质数

5.0.0
37 gmp_random_bits()

返回随机数

5.6.3
38 gmp_random_range()

返回给定的最小和最大数字之间的随机数

5.6.3
39 gmp_random_seed()

设置种子以生成随机数

7.0.0
40 gmp_随机()

返回随机数。

5.0.0
41 gmp_root()

返回根的整数值

5.6.0
42 gmp_rootrem()

返回整数值和第 n 个根的余数

5.6.0
43 gmp_scan0()

扫描给定数字中的 0

5.0.0
44 gmp_scan1()

扫描给定数字中的 1

5.0.0
45 gmp_setbit()

设置给定 GMP 编号的位索引

5.0.0
46 gmp_sign()

返回给定数字的符号

5.0.0
47 gmp_sqrt()

计算平方根

5.0.0
48 gmp_sqrtrem()

计算余数的平方根

5.0.0
49 gmp_strval()

将给定的 GMP 编号转换为字符串

5.0.0
50 gmp_sub()

返回两个给定数字之间的差

5.0.0
51 gmp_testbit()

测试是否为给定索引设置了该位

5.3.0
52 gmp_xor()

计算给定数字的按位异或

5.0.0
php_function_reference.htm