VII. BC math 高精度数学函数

PHP 为任意精度数学计算提供了二进制计算器(Binary Calculator),它支持任意大小和精度的数字,以字符串形式描述。

自 PHP 4.0.4 以来,libbcmath 都绑定在 PHP 内部。本扩展不需要其它外部库的支持。

本类函数仅在 PHP 编译时配置了 --enable-bcmath 时可用。在 PHP 3 中,本类函数仅在 PHP 编译时没有配置 --disable-bcmath 时可用。

PHP 的 Windows 版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用这些函数。

这些函数的行为受 php.ini 的影响。

表格 1. BC 数学库配置选项

名称默认值可修改范围更新记录
bcmath.scale"0"PHP_INI_ALL自 PHP 5.0.0 起可用。
有关 PHP_INI_* 常量进一步的细节与定义参见。

所有 bcmath 函数中十进制数字的数目。参见 bcscale()

本扩展模块未定义任何资源类型。

本扩展模块未定义任何常量。
###########################
实例:
API 接口对接,加密实现过程,16进制转十进制,dechex 函数,不能满足 > 9223372036854775807 的情况(转为float)。

public static function BigIntdechex($code) { 
 bcscale(0);  $result = ''; 
 $len = strlen($code); 
 for ($i = 1; $i $len; $i++) { 
 $char = substr($code, $i - 1, 1);  
$result = bcadd(bcmul(hexdec($char), bcpow(16, $len - $i)), $result); 
 }  
return $result; }
########################### 
思路参考:
http://blog.csdn.net/zhouzme/article/details/51098101 

10-05 16:31