Javascript,将数组数组转换为双精度值
问题描述:
我需要将8个字节的数组转换为双精度值。这是我的起始阵列:Javascript,将数组数组转换为双精度值
[170, 85, 255, 63, 205, 171, 170, 85]
它应该转换为-9.591053231630682E-105。
所述阵列的每个元件可以是从0到256
答
你可以适应的T.J. Crowder优异answer并使用DataView#setUint8
对于给定的字节。
var data = [170, 85, 255, 63, 205, 171, 170, 85];
// Create a buffer
var buf = new ArrayBuffer(8);
// Create a data view of it
var view = new DataView(buf);
// set bytes
data.forEach(function (b, i) {
view.setUint8(i, b);
});
// Read the bits as a float
var num = view.getFloat64(0);
// Done
console.log(num);
由于龚如心,那真是棒极了! – Chuender