Хорошо, поэтому я решил попробовать 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 из здесь