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);

+0

由于龚如心,那真是棒极了! – Chuender