php 中这个用法的浮点运算的函数是什么
请先看看百度百科里的浮点运算例子
http://wenku.baidu.com/view/9ba120a108a1284ac85043d8.html?re=view
也就是把 十六进制的 42C88000
使用IEEE754标准的32位浮点数格式 算出来结果等于 100.25
把十六进制的C1C90000 算出是 -25.125
有没有现成的函数?
帮我写个例子, 万分感激
谢谢
------解决思路----------------------
function hexToDecFloat($strHex) {
$v = hexdec($strHex);
$x = ($v & ((1 << 23) - 1)) + (1 << 23) * ($v >> 31
------解决思路----------------------
1);
$exp = ($v >> 23 & 0xFF) - 127;
return $x * pow(2, $exp - 23);
}
$a='42C88000 ';
echo hexToDecFloat($a);
等于100.25
------解决思路----------------------
$s = '42C88000';100.25
echo current(unpack('f', pack('V', hexdec($s))));
$s = 'C1C90000';-25.125
echo current(unpack('f', pack('V', hexdec($s))));