php支持64位ieee浮点运算吗


Does php support 64-bit ieee float

我对这个主题做了深入的研究。但这个问题还不清楚。有人能帮我吗。http://www.php.net/manual/en/language.types.float.php此链接没有正确描述任何内容。

是的

来自PHP手册

整数的大小取决于平台,尽管最大值大约20亿是通常的值(即32位有符号)。64位平台通常具有大约9E18的最大值。PHP确实不支持无符号整数。整数大小可以使用常数PHP_INT_SIZE和使用该常数的最大值PHP_INT_MAX,自PHP 4.4.0和PHP 5.0.5起。

此外。。

如果浮点值超出整数的边界(通常为+/-2.15e+9在32位平台上=2^31,在64位平台上+/-9.22e+18=2^63),结果是未定义的,因为浮点没有足够的精度来给出精确的整数结果。没有警告,甚至没有发生这种情况时会发出通知!

从PHP手册的内部链接到第三方网站。。。

PHP是动态类型的,通常会在字符串和浮点数(取决于平台,但典型地IEEE 64位值)。为了强制值为浮点值,在数值环境中对其进行评估:$foo = 0 + "10.5";

但是,如果你想玩浮动和精度,你需要使用GMP功能。

值存储在内部https://github.com/php/php-src/blob/master/Zend/zend.h#L322

对于浮子,请使用双重类型。浮子和双浮子的尺寸。

因此,php支持64位ieeefloat。