2017-02-26 52 views
0

执行上的十六进制字符串的数学运算这是我的代码:(当量至十二月3832789)如何在PHP

<?php 
$hex1 = '3A7BD5'; 
$sum = (int) ($hex1/2); 
echo $sum; 
?> 

现在我所要做的是开始六角3A7BD5和一半的价值,喜欢的东西1D3DEB完成(当量〜1916395)

它似乎试图一半的十六进制值一样简单,但我上面的代码给出了“1”的输出。

+2

看看:http://php.net/manual/en /function.hexdec.php; http://php.net/manual/en/function.dechex.php现在,你的字符串在数学表达式中默默地转换为整数(3)。 – Rizier123

回答

1

使用hexdec将十六进制字符串转换为十进制数,dechex转换回。

<?php 
$hex1 = hexdec('3A7BD5'); 
$sum = (int) ($hex1/2); 
echo dechex($sum); 

结果:1d3dea

This code run onlinehexdec Docsdechex Docs

使用16进制:

<?php 
$hex1 = 0x3A7BD5; 
$sum = (int) ($hex1/0x02); 
echo dechex($sum); 
+0

好吧,其实我是想一个十六进制输出,但我'''''' – Jimmy

+0

@Jimmy OK是的,我错过了问题的一部分 - 我已经更新了答案。 – Theo