# 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。