# Integer 整数型
## 数学函数列表及说明
http://www.w3school.com.cn/php/php_ref_math.asp
## 结构示意
~~~
decimal : [1-9][0-9]*
| 0
hexadecimal : 0[xX][0-9a-fA-F]+
octal : 0[0-7]+
binary : 0b[01]+
integer : [+-]?decimal
| [+-]?hexadecimal
| [+-]?octal
| [+-]?binary
~~~
## 进制表达
* 整数型可以使用二进制、八进制、十进制、十六进制表示。
* 整数型前面可以加上可选的 **+** 或是 **-** 符号。
* 二进制表达的整数型是从PHP5.4版本起才可以的。
* 要使用八进制,必须在数字前面加上 **0**(零)。
* 要使用十六进制,必须在数字前面加上 **0x**。
* 要使用二进制,必须在数字前面加上 **0b**。
## 大小范围
* 通常32位系统下整数型最大值大约是二十亿。
* 通常64位系统下整数型最大值大约是9E18。
* integer值的 **字长** 可以用内置常量 **PHP_INT_SIZE** 表示。
* integer值的 **最大值** 可以用内置常量 **PHP_INT_MAX** 表示。
* 如果一个变量的值超过了integer的范围,会被认为是 **float**。
## 类型转换
* 在变量前面加上 **(int)** 或 **(integer)**。
* 使用 **intval()** 函数。
* 将boolean布尔型转换成integer时,false变成0,true变成1。
* 将float浮点型转成integer时,将向下取整。
* 将一个值大于integer范围的float转换为integer时,结果为未定义。
* 不要随便将未知的float表达式转为integer。
* 例如`(int)((0.1 + 0.7) * 10)`的结果是7。