在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?)。