2012-02-06 78 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