本文介绍了解析HEX浮点数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有整数,例如, 4060

我如何获得HEX浮点数(<$ c来自它的$ c> \ x34 \ xC8 \ x7D \ x45 )

How I can get HEX float (\x34\xC8\x7D\x45) from it?

JS还没有 float 类型,所以我不知道如何进行这种转换。

JS hasn't float type, so I don't know how to do this conversion.

谢谢。

推荐答案

以上答案不再有效。 缓冲区已被弃用(请参阅)。

The above answer is no longer valid. Buffer has been deprecated (see https://nodejs.org/api/buffer.html#buffer_new_buffer_size).

新解决方案:

function numToFloat32Hex(v,le)
{
    if(isNaN(v)) return false;
    var buf = new ArrayBuffer(4);
    var dv  = new DataView(buf);
    dv.setFloat32(0, v, true);
    return ("0000000"+dv.getUint32(0,!(le||false)).toString(16)).slice(-8).toUpperCase();
}

例如:

numToFloat32Hex(4060,true) // returns "00C07D45"
numToFloat32Hex(4060,false) // returns "457DC000"

在Chrome和Firefox中测试

Tested in Chrome and Firefox

这篇关于解析HEX浮点数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 04:17