11.2不同进制之间的数字转换
11.2 不同进制之间的数字转换
PHP中使用如下函数完成不同进制之间数字的转换。
·函数decbin($num):将十进制参数$num转换成二进制数。该函数所能转换的最大十进制数是4294967295。
·函数dechex($num):将十进制参数$num转换成十六进制数。
·函数decoct($num):将十进制参数$num转换成八进制数。
·函数bindec($num):将二进制参数$num转换成十进制数。
·函数hexdec($num):将十六进制参数$num转换成十进制数。
·函数octdec($num):将八进制参数$num转换成十进制数。
·函数base_convert($num,$from,$to):该函数将以$from所表示进制的数$num,转换成以$to所表示的进制的数后,返回转换后进制的数字字符串。
代码11-2演示了这些函数的用法。
代码11-2 不同进制之间做数字转换11-2.php
01 <?php
02 $i = 22; //
定义4
个变量
03 $bi = 1011001;
04 $oi = 721;
05 $hi = A2;
06
07 echo "$i
的二进制数是:".decbin($i); //
将$i
转换为二进制输出
08 echo "<br/>";
09 echo "<br/>";
10 echo "$i
的八进制数是:".decoct($i); //
将$i
转换为八进制输出
11 echo "<br/>";
12 echo "<br/>";
13 echo "$i
的十六进制数是:".dechex($i); //
将$i
转换为十六进制输出
14 echo "<hr>";
15
16 echo "
二进制数 $bi
的十进制数是:".bindec($bi); //
将$bi
转换为十进制输出
17 echo "<br/>";
18 echo "<br/>";
19 echo "
八进制数 $oi
的十进制数是:".octdec($oi); //
将$oi
转换为十进制输出
20 echo "<br/>";
21 echo "<br/>";
22 echo "
十六进制数 $hi
的十进制数是:".hexdec($hi); //
将$hi
转换为十进制输出
23 echo "<hr>";
24
25 $hex_num = "A515";
26 echo "
使用函数base_convert()
,转换十六进制数B515
到二进制数:<br/>";
27 echo base_convert($hex_num,16,2); //
将$ hex_num
转换为二进制输出
28 ?>
【代码解析】上述代码演示了几种进制转换函数的用法,这里笔者不具体介绍某个函数,读者可以自己先计算结果,然后与效果图进行比对。这段程序的执行结果如图11-2所示。

图11-2 不同进制数字转换
