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函数
下表列出了所有与PHP GMP函数相关的函数。在版本列中,显示了支持该函数的最早版本的PHP。
| 序号 | 函数与说明 | 版本 | 
|---|---|---|
| 1 | gmp_abs() 返回绝对值 | 5.0.0 | 
| 2 | gmp_add() 返回两个数的和 | 5.0.0 | 
| 3 | gmp_and() 返回两个数的按位与结果 | 5.0.0 | 
| 4 | gmp_binomial() 计算二项式系数 | 7.3.0 | 
| 5 | gmp_clrbit() 清除位 | 5.0.0 | 
| 6 | gmp_cmp() 比较两个GMP数据 | 12 | 
| 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_export() 导出一个二进制字符串 | 5.6.1 | 
| 14 | gmp_fact() 计算给定数字的阶乘 | 5.0.0 | 
| 15 | gmp_gcd() 计算给定数字的最大公约数 | 5.0.0 | 
| 16 | gmp_gcdext() 计算给定数字的最大公约数和乘法因子 | 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_jacobi() 计算雅可比符号 | 5.0.0 | 
| 23 | gmp_kronecker() 计算Kronecker符号 | 7.3.0 | 
| 24 | gmp_lcm() 计算给定GMP数字的最小公倍数 | 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_random() 返回随机数 | 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 | 
极客教程