转换为浮动后获取负数

时间:2017-04-08 19:44:57

标签: php hex type-conversion

我找到了一个将十六进制转换为浮点数的代码。我的数字也是负数,但在转换后我没有得到它。是否有可能从十六进制转换为带负数的浮点数? 我发现的代码:

function hexTo32Float($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);
}

要测试的数字: c57be300 - &gt; 4030.1875,但应该是负-4030.1875。

0 个答案:

没有答案