PHP将带符号的64位整数转换为十六进制和后退

时间:2014-11-26 18:59:54

标签: php integer-overflow

在64位系统上,当然。我宁愿不使用bcmath,但我认为这是必要的:

测试代码,有效,但返回输出为64位无符号整数和溢出(PHP不支持64位无符号整数)。

var_dump(-3172679146711529273);
var_dump(dechex(-3172679146711529273));
var_dump(hexdec(dechex(-3172679146711529273)));

将返回:

int(-3172679146711529273)
string(16) "d3f8612029f848c7"
float(1.5274064926998E+19)

另一种方法是将整数打包成另一种格式(基数为36?)。

0 个答案:

没有答案