php 进制转换

http://jingyan.baidu.com/article/495ba84109665338b30ede98.html

 

 

1、进制转换 【网址:http://jingyan.baidu.com/article/597a0643614568312b5243c0.html, http://jingyan.baidu.com/article/495ba84109665338b30ede98.html】
二进制 bin 、八进制 oct、十进制 dec、十六进制 hex

hp进制转换函数如下:
bindec() — 二进制转换为十进制
decbin() — 十进制转换为二进制
dechex() — 十进制转换为十六进制
decoct() — 十进制转换为八进制
hexdec() — 十六进制转换为十进制
octdec() — 八进制转换为十进制
base_convert()– 在任意进制之间转换数字

【十进制转换二进制】

正整数:十进制数除2取余法,即十进制数除2,得到的商值继续除2,依此步骤继续向下运算直到商为0为止,然后从下到上取值。

例如:十进制10转换二进制 【结果:1010】
10/2 5 余 0
5/2 2 余 1
2/2 1 余 0
1/2 0 余 1

负整数:将十进制转换为二进制数。对该二进制数求反。再将该二进制数加1.
00001010
去反
11110101
加一【往前进以为自身为0】
11110110

【二进制转十进制】
正整数:把二进制数按权展开、每位乘以2的次方【从0次方开始,从下右往左】相加即得十进制数。
例如:二进制1010转换十进制 【结果:10】
不够8位的补位【从右往左乘以2的次方】
0 0 0 0 1 0 1 0
0 * 2的7次方 = 0
0 * 2的6次方 = 0
0 * 2的5次方 = 0
0 * 2的4次方 = 0
1 * 2的3次方 = 8
0 * 2的2次方 = 0
1 * 2的1次方 = 2
0 * 2的0次方 = 0

结果为 2 + 8 =10



【二进制转八进制】
方法为:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
10的二进制 1010
0 0 0 0 1 0 1 0
第一步取3合1
000 001 010
第二步按权展开求和
0 * 2的2次方 + 0 * 2的1次方 + 0*2的0次方 = 0
0 * 2的2次方 + 0 * 2的1次方 + 1*2的0次方 = 1 任何数的0次方,都为1
0 * 2的2次方 + 1 * 2的1次方 + 0*2的0次方 = 2
第三步得到八进制数
1 2 = 12

 

【八进制转成二进制】
方法为:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

 

posted @ 2016-11-03 01:11  飞越全球  阅读(234)  评论(0编辑  收藏  举报