*Luaライブラリ 要注意点 ~ビット演算ライブラリ~ [#d3df91d8]

**5.1⇒5.2⇒5.3ところころ変遷したビット演算 [#d5cd1e1b]
-Lua5.1にはビット演算子が存在しない~
LUA5.1にはビット演算を行う標準的なライブラリも存在しなかった。~
LUA5.2にて初めてライブラリとして導入された形となる。~
(※Lua5.1にLua5.2とそっくりなライブラリを実装するには、[Luaで良く作る関数 ~bit32編~[[Lua implements_func_bit32]])

 スコアスタジオで利用するLUAが5.1か5.2かは微妙なラインであろう。

 ただし、原則LUA層でそれほどビット演算をする機会はないと思われる。

  なお、スコアスタジオのLUAには、Utils.luaの中に、右シフトと左シフトだけlshift, rshiftという形で用意されている。
 
   


  bit32.band、bit32.bor、bit32.btest、bit32.bxorの引数は可変長で複数の値を同時に演算することができます。
    bit32.band(15,6,3)  --> ビット演算子でいう 15 & 6 & 3 ⇒ 2

     bit32.bandとbit32.btestの違いは、前者は演算結果の数値を返すのに対し、後者は演算結果の数値が0ならばfalseを0以外ならばtrueを返す、という点です。

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS