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

如何在PHP中对十六进制字符串执行数学运算,php,Php,这是我的代码: <?php $hex1 = '3A7BD5'; $sum = (int) ($hex1 / 2); echo $sum; ?> 现在我要做的是从hex 3A7BD5(相当于dec 3832789)和一半的值开始,以1D3DB(相当于1916395)结束 看起来很简单,只需尝试将十六进制值减半,但上面的代码给出了“1”的输出 使用hexdec将十六进制字符串转换为十进制数,使用dechex将其转换回十进制数 <?php $hex1 = hexdec('3A7

这是我的代码:

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

现在我要做的是从hex 3A7BD5(相当于dec 3832789)和一半的值开始,以1D3DB(相当于1916395)结束


看起来很简单,只需尝试将十六进制值减半,但上面的代码给出了“1”的输出

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

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

看看:;现在,您的字符串在数学表达式中被静默转换为整数(3)。好的,我实际上想要一个十六进制输出,但我通过
@Jimmy获得了它。好的,我错过了问题的这一部分-我更新了答案。
<?php
$hex1 = 0x3A7BD5;
$sum = (int) ($hex1 / 0x02);
echo dechex($sum);