当前位置:首页 » 编程语言 » 16进制转10进制php

16进制转10进制php

发布时间: 2023-09-03 19:00:56

‘壹’ 16进制怎么转换成10进制

十六进制转换成十进制的具体算法是:

1、首先明白16进制数(从右到左数是第0位,第1位,第2位……)的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,依次这样排列下去。

2、明白ABCDEF表示的二进制数字分别是10,11,12,13,14,15。

3、十六进制转换成十进制的公式是:要从右到左用二进制的每个数去乘以16的相应次方,然后这些数字相加就是了。

例1:

2AF5换算成10进制:

第0位:5*16^0=5

第1位:F*16^1=15*16^1=240

第2位:A*16^2=10*16^2=2560

第3位:2*16^3=8192结

果就是:5*16^0+15*16^1+10*16^2+2*16^3=10997

例2:CE换算成10进制:

第0位:E*16^0=14*16^0=14

第1位:C*16^1=12*16^1=192

结果就是:14*16^0+12*16^1=206

进制转换的理论

1、 二进制数、十六进制数转换为十进制数:

用按权展开法把一个任意R 进制数a n a n-1 ...a1a 0 . a -1 a -2...a -m转换成十进制数,其十进制数值为每一位数字与其位权之积的和。

a n ×Rn+ a n-1×R n-1 +…+ a 1×R 1 + a 0×R 0 + a -1 ×R -1+ a -2×R -2+ …+ a -m ×R -m

2、 十进制转化成R 进制十进制数轮换成R 进制数要分两个部分:整数部分要除R 取余数,直到商为0,得到的余数即为二进数各位的数码,余数从右到左排列(反序排 列) 。小数部分要乘R 取整数,得到的整数即为二进数各位的数码,整数从左到右排列(顺序排列) 。

3、十六进制转化成二进制:每一位十六进制数对应二进制的四位,逐位展开。

4、 二进制转化成十六进制:将二进制数从小数点开始分别向左(对二进制整数)或向右(对二进制小数)每四位组成一组,不足四位补零。

‘贰’ 前几天看到一个php面试题,代码复制到环境中结果是400000,怎么想也想不通,哪位大神指点一下。

$a=0x01;//16进制转化成10进制1
$b=0x02;//2

<< 是位运算 意思是 1<<2 ,这个1是二进制的1,将1向左移2位即100(不够就补0),在转换成10进制是4

再举个例子 5<<3,5的二进制101,好理解写成000101,向左移三位即101000,10进制后40

printf("%x",($a<<$b.$b));就是 printf("%x",(1<<22));

得到的是10000000000000000000000,十进制就是4194304,你带进去printf("%x",4194304);

‘叁’ php 16进制计算转换十进制

1、echo只输出十进制数字,需要打印十六进制数字可以用print函数2、这个不能,需要前缀指定,例如10,你说是十进制还是八进制或者十六进制?

热点内容
易手遥控连接密码是多少 发布:2025-02-03 22:44:26 浏览:166
sql安装程序配置服务器失败 发布:2025-02-03 22:44:25 浏览:586
可以写脚本的点击器 发布:2025-02-03 22:44:22 浏览:612
c算法代码 发布:2025-02-03 22:42:20 浏览:862
脚本猫 发布:2025-02-03 22:36:30 浏览:137
qt软件如何反编译 发布:2025-02-03 22:36:27 浏览:22
linux串口数据接收 发布:2025-02-03 22:33:11 浏览:553
战双封脚本吗 发布:2025-02-03 22:32:14 浏览:446
可用内存存储 发布:2025-02-03 22:28:05 浏览:75
邮箱登录需要服务器地址是啥 发布:2025-02-03 22:27:27 浏览:550