2011-02-06 88 views
1

好吧,所以我決定今天嘗試使用Lua 5.2。 我對名爲的新二進制庫非常感興趣。其中一些函數的運行速度比我自己可以做得快,主要是因爲它們已經在Lua的C端實現了。採用二進制XOR函數,它比我的Lua實現異或運行速度快34倍。Lua 5.2新的二進制庫問題

所以,我的困境是: 我覺得有一個在二進制功能中的錯誤已經

print(bit.bnot(0)) --> 4294967295 

這是正確的,因爲4294967295是11111111 11111111 11111111二進制

然而11111111,

print(bit.band(4294967295, 65535)) --> 0 

這是錯誤的,或至少我認爲它應該是。 65535二進制是11111111 11111111. 當我用bit.band在上述情況下不應該返回65535?

我使用的Lua 5.2.0-WORK2預編譯的二進制從here

+0

它不是Lua 5.2.2,它是Lua 5.2.0-work2 –

+1

嘗試使用Lua 5.2 alpha,你可以在http://www.lua.org/work/ – lhf

+0

@Alexander找到它;好的,但這並不能解決我的問題。 @lhf;我很確定我正在使用該版本,只是一個預編譯的發行版 – Jason

回答

1

我還沒有在Lua的5.2版本的看着這一切,但如果你的主要興趣是二進制運算,對於一個BitOp模塊Lua 5.1 here,它與LuaJit提供的本地實現兼容。