PHP - GMP 函式



什麼是 GMP?

GMP 代表 GNU 多精度算術庫 (GNU Multiple Precision Arithmetic Library)。

GMP 是 PHP 中支援的一個庫,允許你對有符號整數、有理數和浮點數進行數學運算。GMP 擁有豐富的函式集合,有助於對大數執行復雜的數學運算。據說 GMP 在計算非常大的數字的最終結果時速度更快。

GMP 在密碼學、網際網路安全以及處理算術運算的軟體中非常有用。

在 PHP 中安裝 GMP

GMP 模組預設新增到 PHP 中。你可以透過移除 php.ini 副檔名部分開頭處的 (;) `;extension=gmp` 來啟用它。之後重啟 Apache 並確認更改是否生效。將下面的程式碼儲存為 .php 檔案並在瀏覽器中執行。

<?php
   phpinfo();
?>

你應該會在瀏覽器中看到 GMP 已啟用,如下所示:

Php 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 數

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_export()

匯出二進位制字串

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_jacobi()

計算雅可比符號

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_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
php_function_reference.htm
廣告