GMP for PHP

php -m windows 下查看php已开启的拓展

GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况。
  本函数库能处理的数值范围只到长整数与倍浮点数的范围。若要处理超过上述范围的数值,要使用 bc 高精确度函数库 。本函数库定义了圆周率的常量 m_pi 值为 3.14159265358979323846。
函数:abs: 取得绝对值。 acos: 取得反余弦值。 asin: 取得反正弦值。 atan: 取得反正切值。 atan2: 计算二数的反正切值。 base_convert: 转换数字的进位方式。 bindec: 二进位转成十进位。 ceil: 计算大于指定数的最小整数。 cos: 余弦计算。 decbin: 十进位转二进位。 dechex: 十进位转十六进位。 decoct: 十进位转八进位。 exp: 自然对数 e 的次方值。 floor: 计算小于指定数的最大整数。 getrandmax: 随机数的最大值。 hexdec: 十六进位转十进位。 log: 自然对数值。 log10: 10 基底的对数值。 max: 取得最大值。 min: 取得最小值。 mt_rand: 取得随机数值。 mt_srand: 配置随机数种子。 mt_getrandmax: 随机数的最大值。 number_format: 格式化数字字符串。 octdec: 八进位转十进位。 pi: 圆周率。 pow: 次方。 rand: 取得随机数值。 round: 四舍五入。 sin: 正弦计算。 sqrt: 开平方根。 srand: 配置随机数种子。 tan: 正切计算。
函数举例:abs 取得绝对值。 语法: mixed abs(mixed number); 返回值: 混合类型资料 函数种类: 数学运算 内容说明: 返回参数 number 的绝对值。若 number 是倍精确浮点数,则返回值也是倍浮点数;其它的类型则返回类型为整数。
acos 取得反余弦值。 语法: float acos(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 返回参数 arg 的反余弦值 (arc cosine)。 参考: asin() atan()
asin 取得反正弦值。 语法: float asin(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 返回参数 arg 的反正弦值 (arc sine)。 参考: acos() atan()
atan 取得反正切值。 语法: float atan(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 返回参数 arg 的反正切值 (arc tangent)。 参考: acos() asin()
atan2 计算二数的反正切值。 语法: float atan2(float y, float x); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数用来计算二数 y、x 的反正切值,计算结果与 atan() 计算 y/x 类似,但本函数会因 x、y 的正负号影响结果。而本函数的返回值必落在正负的圆周率间 (-pi <= (值) ≶= pi) 参考 acos() atan() asin()
base_convert 转换数字的进位方式。 语法: string base_convert(string number, int frombase, int tobase); 返回值: 字符串 函数种类: 数学运算 内容说明: 本函数将数字字符串 number 从以 frombase 进位转换到以 tobase 进位。本式能够处理的由以二进位到以三十六进位之间的进位方式。在十进位之前都是以数字表示,而在超过十进位之后就用英文字母表示。例如十六进位个位数依序为 123456789abcdef,10 的顺序是第十七个,这时才进一位。而三十六进位 a 是第十个、b 为第十一个、z 为第三十六个、10 是第三十七个,这时才进位。 使用范例 本例将十六进位字符串转成二进位字符串 <?php $binary = base_convert($hexadecimal, 16, 2); echo "十六进位字符串"$hexadecimal"转成二进位为"$binary"。"; ?>
bindec 二进位转成十进位。 语法: int bindec(string binary_string); 返回值: 整数 函数种类: 数学运算 内容说明: 本函数将二进位数字字符串转成十进位的整数。由于 php 使用 32 位有正负号整数计算,能处理的最大十进位数字为 2147483647,也就是二进位数字的 1111111111111111111111111111111 (31 个 1)。 参考: decbin()
ceil 计算大于指定数的最小整数。 语法: int ceil(float number); 返回值: 整数 函数种类: 数学运算 内容说明: 本函数用来计算比浮点参数 number 大的最小整数。 使用范例 本例返回值为 4。 <?php $nextint=ceil(3.14); echo $nextint; ?> 参考: floor() round()
cos 余弦计算。 语法: float cos(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数计算参数 arg 的余弦值 (cosine)。 参考: sin() tan()
decbin 十进位转二进位。 语法: string decbin(int number); 返回值: 字符串 函数种类: 数学运算 内容说明: 本函数将十进位数字转成二进位字符串。由于 php 使用 32 位有正负号整数计算,能处理的最大十进位数字为 2147483647,也就是二进位数字的 1111111111111111111111111111111 (31 个 1)。 参考: bindec()
dechex 十进位转十六进位。 语法: string dechex(int number); 返回值: 字符串 函数种类: 数学运算 内容说明: 本函数将十进位数字转成十六进位字符串。由于 php 使用 32 位有正负号整数计算,能处理的最大十进位数字为 2147483647,也就是十六进位数字 7fffffff。 参考: hexdec()
decoct 十进位转八进位。 语法: string decoct(int number); 返回值: 字符串 函数种类: 数学运算 内容说明: 本函数将十进位数字转成八进位字符串。由于 php 使用 32 位有正负号整数计算,能处理的最大十进位数字为 2147483647,也就是八进位数字 17777777777。 参考: octdec()
exp 自然对数 e 的次方值。 语法: float exp(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数计算自然对数 (natural logarithm) 的 arg 次方值。 参考: pow() log()
floor 计算小于指定数的最大整数。 语法: int floor(float number); 返回值: 整数 函数种类: 数学运算 内容说明: 本函数用来计算比浮点参数 number 小的最大整数。 使用范例 本例返回值为 3。 <?php $lastint=floor(3.14); echo $lastint; ?> 参考: ceil() round()
getrandmax 乱数的最大值。 语法: int getrandmax(void); 返回值: 整数 函数种类: 数学运算 内容说明: 本函数计算乱数函数 rand() 可能取得的取得的最大乱数值。本函数不需参数。 参考: rand() srand() mt_rand() mt_srand() mt_getrandmax()
hexdec 十六进位转十进位。 语法: int hexdec(string hex_string); 返回值: 整数 函数种类: 数学运算 内容说明: 本函数将十六进位字符串转成十进位数字。由于 php 使用 32 位有正负号整数计算,能处理的最大十六进位数字为 7fffffff,也就是十进位数字的 2147483647。 参考: dechex()
log 自然对数值。 语法: float log(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数计算参数 arg 的自然对数 (natural logarithm) 值。
log10 10 基底的对数值。 语法: float log10(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数计算参数 arg 的 10 基底对数值。
max 取得最大值。 语法: mixed max(mixed arg1, mixed arg2 .... mixed argn); 返回值: 混合类型资料 函数种类: 数学运算 内容说明: 本函数计算参数间的最大值。若第一个参数是数字数组,则会找出该数组的最大数字。若第一个参数非数组,则需二个以上的参数。这些数字可以是整数、倍精确数或数字字符串的类型。参数的数目不限,视用户的需求而定。在计算时,只要有一个参数是倍精确数,本函数会将所有的参数都转成倍精确数,并返回倍精确数。若参数只有整数及数字字符串,则会将所有的参数转换成整数,并返回整数。 参考: min()
min 取得最小值。 语法: mixed min(mixed arg1, mixed arg2 .... mixed argn); 返回值: 混合类型资料 函数种类: 数学运算 内容说明: 本函数计算参数间的最小值。若第一个参数是数字数组,则会找出该数组的最小数字。若第一个参数非数组,则需二个以上的参数。这些数字可以是整数、倍精确数或数字字符串的类型。参数的数目不限,视用户的需求而定。在计算时,只要有一个参数是倍精确数,本函数会将所有的参数都转成倍精确数,并返回倍精确数。若参数只有整数及数字字符串,则会将所有的参数转换成整数,并返回整数。 参考: max()
mt_rand 取得乱数值。 语法: int mt_rand([int min], [int max]); 返回值: 整数 函数种类: 数学运算 内容说明: 本函数不使用一般常用的 libc 来计算乱数值,而是使用计算速度至少快四倍的马其赛特旋转 (mersenne twister) 演算法来计算乱数值。有关马特赛特旋转演算法可在松本真的 http://www.math.keio.ac.jp/~matumoto/emt.html 找到更多的相关信息,最佳化的原始程序则在 http://www.scp.syr.edu/~marc/hawk/twister.html。若没有指定乱数的最大及最小范围,本函数会自动的从 0 到 rand_max 中取一个乱数。若有指定 min 及 max 的参数,则从指定参数中取一个数字,例如 mt_rand(38, 49) 则会从 38 到 49 之间取一个乱数值。治募?注意的是为使乱数的乱度最大,每次在取乱数之前最好使用 mt_srand() 以配置新的乱数种子。 参考: rand() srand() getrandmax() mt_srand() mt_getrandmax()
mt_srand 配置乱数种子。 语法: void mt_srand(int seed); 返回值: 无 函数种类: 数学运算 内容说明: 本函数传入参数 seed 后,配置乱数的种子。治募?注意的是参数 seed 值最好也是随机出现的数字,例如利用加入时间做为变量的来源就是不错的方法,或者开发其它的硬体周边界面可取得更好的乱数。 使用范例 本例加入时间的因素,以执行时的百万分之一秒当乱数种子 <?php mt_srand((double)microtime()1000000); $randval = mt_rand(); echo $randval; ?> 参考: rand() srand() getrandmax() mt_rand() mt_getrandmax()
mt_getrandmax 乱数的最大值。 语法: int mt_getrandmax(void); 返回值: 整数 函数种类: 数学运算 内容说明: 本函数计算乱数函数 mt_rand() 可能取得的取得的最大乱数值。本函数不需参数。 参考: rand() srand() getrandmax() mt_srand() mt_rand()
number_format 格式化数字字符串。 语法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]); 返回值: 字符串 函数种类: 数学运算 内容说明: 本函数用来将浮点参数 number 格式化。若没加参数 decimals 则返回的字符串只要整数部份,加了此参数才依参数指定的小数点位数返回。参数 dec_point 表示小数点的表示方式方法,默认值是 ".",若需要转换成其它的小数点就可以在这个参数改掉。参数 thousands_sep 为整数部份每三位的分隔符号,默认值是 ","。本函数最特别的地方就是参数数目,最少要有一个,也就是欲格式化的字符串;也可以有二个或者四个参数,但不能用三个参数。治募?注意的是指定小数点的位数之后的数字直接舍弃,没有四舍五入的情形。 使用范例 <? $short_pi = "3.14159"; $my_pi = number_format($short_pi, 2); echo $my_pi."\n"; // 3.14 $foo = 850017.9021; $new_foo = number_format($foo, 3, ".", " "); echo $new_foo."\n"; // 850 017.902 ?>
octdec 八进位转十进位。 语法: string decoct(int number); 返回值: 字符串 函数种类: 数学运算 内容说明: 本函数将八进位字符串转成十进位数字。由于 php 使用 32 位有正负号整数计算,能处理最大的八进位数字为 17777777777,也就是十进位数字的 2147483647。 参考: decoct()
pi 圆周率。 语法: double pi(void); 返回值: 倍精确数 函数种类: 数学运算 内容说明: 本函数返回圆周率。不需输入参数。
pow 次方。 语法: float pow(float base, float exp); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数计算次方值。参数 base 为基底,exp 为幂数。 使用范例 <?php print(pow(2,3)); // 8 print(pow(5,4)); // 625 ?> 参考: log10() exp()
rand 取得随机数值。 语法: int rand([int min], [int max]); 返回值: 整数 函数种类: 数学运算 内容说明: 本函数用来取得随机数值。若没有指定随机数的最大及最小范围,本函数会自动的从 0 到 rand_max 中取一个随机数。若有指定 min 及 max 的参数,则从指定参数中取一个数字。例如 rand(38, 49) 则会从 38 到 49 之间取一个随机数值,unix 系统包含 49、win32 系统不包含 49 (zkimmel@earthlink.net 10-may-1999)。值得注意的是为使随机数的乱度最大,每次在取随机数之前最好使用 srand() 以配置新的随机数种子。 参考: srand() getrandmax() mt_rand() mt_srand() mt_getrandmax()
round 四舍五入。 语法: double round(double val); 返回值: 倍精确数 函数种类: 数学运算 内容说明: 本函数用来将数字小数点后四舍五入。 使用范例 <?php $foo1 = round(3.4); $foo2 = round(3.5); $foo3 = round(3.6); echo "round(3.4): ".$foo1."
\n"; echo "round(3.5): ".$foo2."
\n"; echo "round(3.6): ".$foo3; ?>
参考: ceil() floor()
sin 正弦计算。 语法: float sin(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数计算参数 arg 的正弦值 (sine)。 参考: cos() tan()
sqrt 开平方根。 语法: float sqrt(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数将参数 arg 开平方根。
srand 配置随机数种子。 语法: void srand(int seed); 返回值: 无 函数种类: 数学运算 内容说明: 本函数传入参数 seed 后,配置随机数的种子。值得注意的是参数 seed 值最好也是随机出现的数字,例如利用加入时间做为变量的来源就是不错的方法,或者开发其它的硬体周边界面可取得更好的随机数。 使用范例 本例加入时间的因素,以执行时的百万分之一秒当随机数种子 <?php srand((double)microtime()
1000000); $randval = rand(); echo $randval; ?> 参考: rand() getrandmax() mt_srand() mt_rand() mt_getrandmax()
tan 正切计算。 语法: float tan(float arg); 返回值: 浮点数 函数种类: 数学运算 内容说明: 本函数计算参数 arg 的正切值 (tangent)。 参考: sin() cos()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来...
    梦幻_78af阅读 2,029评论 1 10
  • 把当前目录作为Root Document只需要这条命令即可:php -S localhost:3300 也可以指定...
    绚烂的时光阅读 682评论 0 1
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,316评论 0 20
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,293评论 18 399
  • visual json挺好用的,但是对于一般的get请求的话,是没有问题的,但是post请求的话是不行的,比如说,...
    杨大虾阅读 224评论 1 1