Javascript 解析十六进制浮点
我有整数,例如,Javascript 解析十六进制浮点,javascript,node.js,ieee-754,Javascript,Node.js,Ieee 754,我有整数,例如,4060 如何从中获取十六进制浮点(\x34\xC8\x7D\x45) JS没有float类型,所以我不知道如何进行转换 谢谢。如果您想要十六进制字符串,请尝试以下操作: 另一种方式(使用您的输入): 更新:新缓冲区(大小)已被弃用,但很容易被缓冲区取代。alloc(大小): 上述答案不再有效缓冲区已被弃用(请参阅) 新解决方案: function numToFloat32Hex(v,le) { if(isNaN(v)) return false; var bu
4060
如何从中获取十六进制浮点(\x34\xC8\x7D\x45
)
JS没有float类型,所以我不知道如何进行转换
谢谢。如果您想要十六进制字符串,请尝试以下操作:
另一种方式(使用您的输入):
更新:新缓冲区(大小)
已被弃用,但很容易被缓冲区取代。alloc(大小)
:
上述答案不再有效<代码>缓冲区已被弃用(请参阅) 新解决方案:
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中测试我想我遗漏了一些明显的东西,但你有一个整数;没有小数部分(除了隐式的
0
)。你想做什么?任何投票支持“复制”的人,请了解IEEE 754格式…投票重新打开。它也可以用大端或小端读双精度。谢谢,非常有用。Buffer
尚未被弃用
var b = Buffer.alloc(4);
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"