Lua 5.2 новая проблема двоичной библиотеки - PullRequest
1 голос
/ 06 февраля 2011

Хорошо, поэтому я решил попробовать Lua 5.2 сегодня.Я был действительно заинтересован в новой двоичной библиотеке под названием bit .Некоторые функции работают молниеносно по сравнению с тем, что я могу сделать самостоятельно, в основном потому, что они были реализованы на стороне Си в Lua.Возьмем бинарную функцию XOR, она работает в 34 раза быстрее, чем моя реализация XOR на Lua.

Итак, моя дилемма такова: я думаю, что в бинарных функциях уже есть ошибка

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 из здесь

1 Ответ

1 голос
/ 08 февраля 2011

Я вообще не смотрел выпуски Lua 5.2, но если ваш основной интерес связан с бинарными операциями, здесь есть модуль BitOp для Lua 5.1 здесь , который совместим с исходным кодом для нативных реализаций, предоставляемыхLuaJIT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...