$s = '9C216AFB868C';
$sb=hexdec($s) ;
var_dump( $sb );//1.716673427227E+14
echo '<br/>';
var_dump( dechex($sb) );//6afb868c
十六进制$s 转换成十进制 ,再转回十六进制就出问题。
查 dechex()
转换大小是有限制的。
------------补充---------------------------------------
$s = '9C216AFB868C';
$s 加 1 php中怎么实现了?(十六进制计算)
可以对比一下,最后的输出结果
6afb868c
正好是9C216AFB868C
的后面 8 位(忽略大小写)。在 hexdec 手册中,:
在 dechex 中:
第一次的结果
1.716673427227E+14
写成普通格式171667342722700
,这个结果没有任何问题。9c216afb868c
转十进制: http://www.wolframalpha.com/input/?i=convert++9c216afb868c+to+base+10这个数再转换回去是
9c216afb868c
。171667342722700
转十六进制: http://www.wolframalpha.com/input/?i=171667342722700+to+hex