如何在PHP中对十六进制字符串执行数学运算

时间:2017-02-26 15:39:52

标签: php

这是我的代码:

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

现在我要做的是从十六进制3A7BD5(相当于dec 3832789)和一半的值开始,以完成类似1D3DEB(相当于~1916395)

看起来像尝试半个十六进制值的一样简单,但我上面的代码给出了输出“1”。

1 个答案:

答案 0 :(得分:1)

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

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

结果:1d3dea

请参阅This code run onlinehexdec Docs以及dechex Docs

使用十六进制表示法:

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