php浮点数十六进制转十进制


直接上代码

$a = '4145C28F';
$v = hexdec($a);
$x = ($v & ((1 << 23) - 1)) + (1 << 23) * ($v >> 31 | 1);
$exp = ($v >> 23 & 0xFF) - 127;
$res = $x * pow(2, $exp - 23);

if(($v >> 31) == 1){
    $res = -$res;
}

echo $res;


上一篇


评论



分享

最新加入

最新评论

马利时代: <script>alert('hello world');</script> 查看原文 06月18日 16:50
马利时代: <script>alert('hello world');</script> 查看原文 06月18日 16:49
逍遥浪子: <script>alert('hello world');</script> 查看原文 11月01日 13:48
逍遥浪子: <script>alert(123);</script> 查看原文 11月01日 13:40
666_e_com: zzz 查看原文 06月09日 18:05




0.1285s