我对这个话题进行了深入的研究。但这个问题并不清楚。任何人都可以帮我解决这个问题。 http://www.php.net/manual/en/language.types.float.php 没有正确描述这个链接。
答案 0 :(得分:4)
整数的大小是平台相关的,尽管是最大值 大约20亿是通常的值(32位签名)。 64位平台的最大值通常约为9E18。 PHP确实如此 不支持无符号整数。可以使用确定整数大小 常量PHP_INT_SIZE,使用常量的最大值 自PHP 4.4.0和PHP 5.0.5以来的PHP_INT_MAX。
还..
如果浮点数超出整数的边界(通常为+/- 2.15e + 9 在32位平台上= 2 ^ 31,在64位平台上+/- 9.22e + 18 = 2 ^ 63),结果是不确定的,因为浮点数没有 足够的精度来给出精确的整数结果。没有警告,甚至没有 发生这种情况时会发出通知!
从PHP手册的内部链接到第三方网站......
PHP是动态类型,并且经常会隐式转换 字符串和浮点数(与平台有关,但是 通常 IEEE 64位值)。要强制值为浮点值, 在数值上下文中评估它:
$foo = 0 + "10.5";
但是如果你想要使用浮点数和精度,你需要使用GMP函数。
答案 1 :(得分:2)
值存储在https://github.com/php/php-src/blob/master/Zend/zend.h#L322
中对于浮动使用双重类型。 Size of float and double。
所以,php支持64位ieee浮动。