2012-02-06 113 views
2

我有固定大小的IEEE754格式编码的双打数组,任何人都可以指向我可以做任何相关的任何Lua代码?解析Pure Lua中的IEEE754双精度浮点数?

更新:,因为它太短了,我不能张贴了这个问题,所以这里的一些代码,我在搞清楚了这一点—的过程写了这个二进制字符串转换为位串像"0011000"

-- get string of bits for given byte 
function byte2bits(i) 
    local result="" 
    for c=1,8 do 
     nextByte = i % 2 
     i = (i - nextByte)/2 
     result = result .. nextByte 
    end 
    return string.reverse(result) 
end 

-- get a string of bits from string of bytes 
function str2bits(s) 
    result='' 
    for i = 1, string.len(s) do 
     --print(string.byte(s, i)) 
     result=result .. byte2bits(string.byte(s,i)) 
    end 
    return result 
end 
+0

你在做什么需要这个? Lua不是低级语言;这不是你在Lua需要做的事情。如果你想解析一些二进制文件,最好用一些可以从文件中读取整数/浮点数/ /等的辅助C或C++代码来完成。 – 2012-02-06 22:15:34

+1

这是用于仅支持Lua扩展的基础架构组件。 – 2012-02-06 22:20:44

+0

你能否将你阵列中的物品描述得更好一些? “以IEEE754格式编码的双打数组”还不够清楚。你有一串字符串吗?请包含您想分析的数组的示例。 – kikito 2012-02-07 11:22:36

回答

-1

看看Lua-struct。它小而灵活,没有依赖性。

+0

是的,那还是lpack。 – 2012-02-12 17:47:57

+0

他指出,它的主机不允许使用二进制模块;他*需要*纯粹的lua技术或实现。 – Textmode 2013-08-31 08:11:45