php常用数学计算
作者QQ:67065435 QQ群:669756510
本站内容全部为作者原创,转载请注明出处!
扩展需求
bcmath加减乘除余
<?php $a = 9; $b = 3; $c = $a + $b; $c = bcadd($a, $b, 2); $d = $a - $b; $c = bcsub($a, $b, 2); $e = $a * $b; $c = bcmul($a, $b, 2); $f = $a / $b; $c = bcdiv($a, $b, 2); $g = $a % $b; $c = bcmod($a, $b);指数(幂)运算
<?php # 求a的b次方 $a = 9; $b = 3; $c = pow($a, $b); # 求a的b次方根 $a = 9; $b = 2; $c = pow($a, 1/$b);对数运算
<?php # 求log以a为底b的对数(a的多少次幂等于b) $a = 9; $b = 3; $c = log($b,$a);php打印π前53位小数
<?php # %.53f 打印总位数不限、小数部分53位的小数 echo sprintf('%.53f', pi());php取整
ceil() 进一取整 floor() 舍去取整 intval() 转整型 round() 四舍五入进制转换
# 常用函数 2 → 8 : binoct() 2 → 10 : bindec() 2 → 16 : binhex() 8 → 2 : octbin() 8 → 10 : octdec() 8 → 16 : octhex() 10 → 2 : decbin() 10 → 8 : decoct() 10 → 16 : dechex() 16 → 2 : hexbin() 16 → 8 : hexoct() 16 → 10 : hexdec() # 速记技巧 2 bin(binary) 8 oct(octal) 10 dec(decimal) 16 hex(hexadecimal) # 写法表示(内存中会以2进制保存、10进制打印) 2 → echo 0b11; 8 → echo 011; 10 → echo 11; 16 → echo 0x11;手动实现
<?php $num = 10101;//自定义一个10进制数 //$str = "01";//2进制 //$str = "01234567";//8进制 //$str = "0123456789abcdef";//16进制 //$str = "0123456789abcdefghijklmnopqrstuv";//32进制 $str = "0123456789abcdefghijklmnopqrstuvwxyz";//36进制 $len = mb_strlen($str); $rmd = ""; do { $rmd = $str[$num % $len] . $rmd; $num = floor($num / $len); } while ($num > 0); echo $rmd;