这里是 Erlang 的新手......
我需要从列表中的原始数据中提取 IEEE 754 浮点值。
例如。
解码:[42,91,0,0] 应该等于 72.5
并将浮点数转换为列表
编码:72.5 应转换为 [42,91,0,0]
是否有支持这些操作的库?什么是最佳实践?
提前致谢。
最佳答案
对于解码,您可以将列表转换为二进制,然后从二进制中提取浮点数(请注意,您问题中的原始列表值是十六进制的,这就是为什么它们在下面的列表中以 16#
为前缀):
1> <<V:32/float>> = list_to_binary([16#42, 16#91, 0, 0]).
<<66,145,0,0>>
2> V.
72.5
对于编码,执行相反的操作:将浮点值插入二进制,然后将其转换为列表:
3> binary_to_list(<<V:32/float>>).
[66,145,0,0]
关于erlang - 使用 Erlang 从原始数据解码/编码 IEEE 754 浮点值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31643985/