首页 > PHP > PHP整型integer

PHP整型integer

来源:原创 作者:thomas 分类:PHP 阅读:916 日期:2014-05-20

PHP的整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +,对以上任意进制均可)。

二进制表达的 integer 自 PHP 5.4.0 起可用。

整型 integer 的正式描述为:

decimal     : [1-9][0-9]* | 0                #十进制表示

hexadecimal : 0[xX][0-9a-fA-F]+    #十六进制表示:如0x36a(其中X与A-F不分大小写)

octal       : 0[0-7]+                             #八进制表示:如0010或0470

binary      : 0b[01]+                           #二进制表示:如0b10

integer     : [+-]?decimal  |  [+-]?hexadecimal  |  [+-]?octal  |  [+-]?binary

PHP 不支持无符号整数。

所以32位系统PHP的整数范围:-2^31~(2^31-1),其中2^31=2147483648。

64位系统PHP的整数范围:-2^63~(2^63-1),其中2^63=9223372036854775808。

整数溢出:

如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。

如下例,32位系统时整数溢出情况:

<?php

$large_number = 2147483647;

var_dump($large_number);                     // int(2147483647)

$large_number = 2147483648;

var_dump($large_number);                     // float(2147483648)

$million = 1000000;

$large_number =  50000 * $million;

var_dump($large_number);                     // float(50000000000)

?>
十日谈技术博客

 

热门文章 更多>

微信扫一扫,关注技术十日谈