mirror of
https://github.com/macintoshplus/doc-en.git
synced 2026-03-24 00:42:18 +01:00
Update integer overflow example (GH-3637)
And moved the integer division example to a new section, since not related to overflow.
This commit is contained in:
@@ -107,42 +107,23 @@ integer : decimal
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<title>Integer overflow on a 32-bit system</title>
|
||||
<title>Integer overflow</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$large_number = 2147483647;
|
||||
var_dump($large_number); // int(2147483647)
|
||||
$large_number = 50000000000000000000;
|
||||
var_dump($large_number); // float(5.0E+19)
|
||||
|
||||
$large_number = 2147483648;
|
||||
var_dump($large_number); // float(2147483648)
|
||||
|
||||
$million = 1000000;
|
||||
$large_number = 50000 * $million;
|
||||
var_dump($large_number); // float(50000000000)
|
||||
var_dump(PHP_INT_MAX + 1); // 32-bit system: float(2147483648)
|
||||
// 64-bit system: float(9.2233720368548E+18)
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</sect2>
|
||||
|
||||
<example>
|
||||
<title>Integer overflow on a 64-bit system</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
$large_number = 9223372036854775807;
|
||||
var_dump($large_number); // int(9223372036854775807)
|
||||
|
||||
$large_number = 9223372036854775808;
|
||||
var_dump($large_number); // float(9.2233720368548E+18)
|
||||
|
||||
$million = 1000000;
|
||||
$large_number = 50000000000000 * $million;
|
||||
var_dump($large_number); // float(5.0E+19)
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<sect2 xml:id="language.types.integer.division">
|
||||
<title>Integer division</title>
|
||||
|
||||
<para>
|
||||
There is no <type>int</type> division operator in PHP, to achieve this
|
||||
|
||||
Reference in New Issue
Block a user