Warm tip: This article is reproduced from serverfault.com, please click
php

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

(其他 - How to perform mathematical operations on hexadecimal string in PHP)

发布于 2017-02-26 15:39:51

这是我的代码:

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

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

这似乎就像尝试将十六进制值减半一样简单,但我上面的代码给出了“1”的输出。

Questioner
Jimmy
Viewed
0
820 2017-02-26 23:58:10

用于将十六进制字符串转换为十进制数,然后转换回来。hexdecdechex

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

结果:1d3dea

请参阅此代码在线运行hexdec 文档dechex 文档

使用十六进制表示法:

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