PHP 进制转换 dechex 无法正确计大数字问题

为什么80%的码农都做不了架构师?>>>   hot3.png

今天使用PHP 自带的进制转换出现问题

 使用   hexdec 将 16 进制 转成 10进制之后,再将结果转成 16进制,发现无法还原

结果一直都是 

7fffffff

查阅n多资料后,

PHP 的 16 进制转换成 10 进制,从 PHP 5.4 开始支持大数字的转换

但是 PHP 将10 进制转换成 16 进制仍有位数限制  文档地址:     https://secure.php.net/manual/zh/function.dechex.php      

解决方案如下

   //大数字,10的16次方 
   $num = pow(10,16);
    //PHP 数字超过一定长度时,会自动转换为 科学计数法 的形式,防止科学计数法
	num = number_format($num, 0, '', '');
	echo base_convert($a, 10, 16);

 

以下两篇参考文档

大数字转换

http://www.kanade.site/index.php/php-de-dechex-han-shu-zui-da-zhuan-huan-7fffffff-jie-jue-ban-fa/

防止科学计数法

http://www.cnblogs.com/52php/p/6066788.html

 

转载于:https://my.oschina.net/18y/blog/1486842

你可能感兴趣的:(PHP 进制转换 dechex 无法正确计大数字问题)