在R中,如何将字节向量转换为IEEE-754 float(例如[0,108,4,71]到33900.0)?
在Ruby中,我会做
[1191472128].pack("L").unpack("f") ==> 33900.0
我尝试了包库:unpack("f", pack("V", 1191472128))
,但它返回32795.06。
答案 0 :(得分:3)
readBin
就是答案:
library(pack)
v <- pack("V", 1191472128)
readBin(v, size=4, what="double")
# [1] 33900
答案 1 :(得分:2)
使用包mcga
,您可以将双重类型转换为字节向量,反之亦然:
> DoubleToBytes(33900.0)
[1] 0 0 0 0 128 141 224 64
和
> BytesToDouble(c(0,0,0,0,128,141,224,64))
[1] 33900
就是例子。