5

I have done a deep reserach on this topic. But nothing is clear about this question. Can anyone help me out with this. http://www.php.net/manual/en/language.types.float.php Nothing is properly described this link prperly.

Nishant Dongare
  • 549
  • 3
  • 16

2 Answers2

4

Yes it does.


From the PHP Manual..

The size of an integer is platform-dependent, although a maximum value of about two billion is the usual value (that's 32 bits signed). 64-bit platforms usually have a maximum value of about 9E18. PHP does not support unsigned integers. Integer size can be determined using the constant PHP_INT_SIZE, and maximum value using the constant PHP_INT_MAX since PHP 4.4.0 and PHP 5.0.5.

Also..

If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31 on 32-bit platforms and +/- 9.22e+18 = 2^63 on 64-bit platforms), the result is undefined, since the float doesn't have enough precision to give an exact integer result. No warning, not even a notice will be issued when this happens!

Exerpts from the inner links of PHP Manual to a 3rd Party site...

PHP is dynamically typed and will often convert implicitly between strings and floating-point numbers (which are platform-dependant, but typically IEEE 64 bit values). To force a value to floating-point, evaluate it in a numerical context: $foo = 0 + "10.5";

But if you are looking to play around with floats and precisions you need to use the GMP functions.

Community
  • 1
  • 1
Shankar Narayana Damodaran
  • 68,075
  • 43
  • 96
  • 126
2

Values stores inside https://github.com/php/php-src/blob/master/Zend/zend.h#L322

For float use double type. Size of float and double.

So, php support 64-bit ieee float.

Community
  • 1
  • 1
sectus
  • 15,605
  • 5
  • 55
  • 97