2017-07-21 5 views
0

に単精度浮動小数点として私はJS Numberに復号したい4バイナリバイトに格納された単精度、ビッグエンディアン浮動小数点数を有しています。私は32ビットの符号なし整数としてこれらのバイトをデコードすることができnpm binary packageを使用変換4つのバイナリバイト数

[100.32].pack('g') # "\x42\xC8\xA3\xD7" 

let binary = require('binary'); // npm install binary 
let buf = new Buffer([0x42,0xc8,0xa3,0xd7]); 
let val = binary.parse(buf).word32bu('foo').vars.foo; 
console.log(val); 
// 1120445399 

...しかし、それは私を助けていないバイトは同じようRubyのArray#packメソッドを使用して生成されました。どのように私は、浮動小数点数100.321120445399または[0x42,0xc8,0xa3,0xd7]のいずれかに変換することができますか?

答えて

1

それは、32ビットフロート、として保存されているように見えます。ノードは、すでにこれらの一般的な数の解析/書き込みシナリオを処理することができます。この特定のケースでは、あなただけの4つのバイトを変換するbuf.readFloatBE(0)を使用することができます。

関連する問題