【发布时间】:2013-08-06 09:32:43
【问题描述】:
使用php,这段代码echo sprintf('%.9F',pow(3,47));输出26588814358957501972480.000000000
像this 这样的其他网站提供3^47 = 26588814358957503287787。 PHP有什么错误吗?如何解决?
顺便说一句,我想知道 php 可以使用 pow、sprintf、fmod 进行计算的最大位数是多少。是300位吗?
【问题讨论】:
-
这可能来自转换为浮点数(表示问题)。
-
@ComFreek 你能帮我找一个替代品吗?
-
这是计算机中的一个错误:除非您明确告诉他们使用十进制,否则他们有这种愚蠢的默认习惯,即使用二进制而不是十进制工作
-
@MarkBaker:这不是“错误”,而是“功能”!
标签: php