$s = '9C216AFB868C';
$sb=hexdec($s) ;
var_dump( $sb );//1.716673427227E+14
echo '
';
var_dump( dechex($sb) );//6afb868c
十六进制$s 转换成十进制 ,再转回十六进制就出问题。
查 dechex() 转换大小是有限制的。
------------补充---------------------------------------
$s = '9C216AFB868C';
$s 加 1 php中怎么实现了?(十六进制计算)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
首先如果你不是32位的计算机的话,这个位数远没有达到PHP所能处理的最大值,PHP里的最大值可以用常量
PHP_INT_MAX查到,在64位计算机下它的值是况且你都能成功从16进制转过来,是不可能因为大小问题转不回去的。问题就出在你转出来的这个10进制值上,它是
这是一个用科学计数法表示的字符串,而
dechex函数是无法识别这个字符串的,php中只会自动将纯数字组成的字符串转换成相应的整形或者浮点。