不同进制的整型数据定义
在 PHP中提供了四种整型的定义方式:十进制定义,二进制定义,八进制定义和十六进制。
定义格式如下:
- 十进制是最基础的:$a = 110;
- 二进制需要在值前面加上0b:$a = 0B1101110;(b不区分大小写)
- 八进制需要在值前面加上0:$a = 0156;
- 十六进制需要在值前面加上0x:$a = 0X6E;(x和e不区分大小写)
使用输出语句输出时会自动转为十进制。
整型进制的互相转换API
首先主观规定:二进制为bin,八进制为oct,十进制为dec,十六进制为hex。
二进制
二进制转八进制无API
二进制转十进制:bindec()
二进制转十六进制:bin2hex()(这个2不能漏)
八进制
八进制只有转十进制的API:octbin()
十进制
十进制转二进制:decbin()
十进制转八进制:decoct()
十进制转十六进制:dechex()
十六进制
十六进制转二进制:hex2bin()
十六进制转八进制无API
十六进制转十进制:hexdec()
任意进制转换
base_convert(待转换值,原进制,目标进制);
如八进制转十六进制:base_convert("156", 8, 16);
(下面这个表格转载自PHP base_convert() 函数 | 菜鸟教程 (runoob.com))
参数 | 描述 |
---|---|
number | 必需。规定要转换的数。 |
frombase | 必需。规定数字原来的进制。介于 2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。 |
tobase | 必需。规定要转换的进制。介于 2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。 |