ビット演算子の要望は、Lua5.1のころから大きくなってきましたが、
仕様が2転、3転しました。
LUA5.1にはビット演算を行う標準的なライブラリも存在しなかった。
LUA5.2にて初めてライブラリとして導入された形となる。
(※Lua5.1にLua5.2とそっくりなライブラリを実装するには、Luaで良く作る関数 ~bit32編~)
結局は関数ではなく、一般的な汎用言語同様、ビット演算子を使った方が見やすい、ということで落ち着いたようです。
このように2転、3転してしまい、ビット演算に関しては混乱期あったおとは否定できない処ですが、
結局は5.3で「ビット演算子」を導入することで、他言語と同じような決着を見た、
ということのようです。
bit32.band(15,6,3) --> ビット演算子でいう 15 & 6 & 3 ⇒ 2bit32.bandとbit32.btestの違いは、