日期:2014-05-16  浏览次数:20501 次

php大数计算
php整型数的字长和平台有关,32位系统下最大值大约是二十亿

http://www.php.net/manual/zh/language.types.float.php这上面有一句话

浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。

请问,"具有 14 位十进制数字的精度"这句话应该怎么理解,是不是超过php最大整型的数就被当做浮点数来计算了,"具有 14 位十进制数字的精度"的意思难道是说14位十进制数加减可以认为是精确的?
------解决方案--------------------
说浮点吧,在线手册有一段警告你也看到了
IEEE是浮点算法规范标准
具体来说,PHP会将浮点转成二进制,二进制表示小数,很容易得到一个无线循环的二进制,然后呢,PHP当然会截取,截取后就会产生误差。这里表示得到的浮点值可以精确到十进制的14位。单个浮点表示没有问题,但是,参与运算就会出现问题。