ビット演算を行うbit32ライブラリについて説明する。
bit32について
- 16進数x8桁 で表された、0から2^32-1までの整数として扱う場合に使われるライブラリ。(0xFFFFFFFFとか)2進数x32桁を4桁ごとに圧縮したものと考えるとわかりやすい。出力自体は整数。
- 2進数上でnビットとする。
- 引数、返り値共に全て整数である。
関数一覧
bit32.arshift(n,m)
nをmビットだけ右にずらす算術シフト処理をした整数を返す。
m>0の時は空になった分は32ビット目の数で埋められ、m<0のときは0で埋められる。
bit32.rshift(x,n)
nをmビットだけ右にずらした整数を返す。空になった分は0で埋められる(以降共通)
bit32.lshift(x,n)
nをmビットだけ左にずらした整数を返す。
bit32.rrotate(n,m)
nをmビットだけ右にずらし、余った分は余白部分に埋めた整数を返す。
bit32.lrotate(n,m)
nをmビットだけ左にずらし、余った分は余白部分に埋める整数を返す。
*
bit32.bnot(n)
nのビットごとの否定を返す。
bit32.band(n1,n2,n3,…)
引数の論理積を返す。
bit32.bor(n1,n2,n3,…)
引数の論理和を返す。
bit32.bxor(n1,n2,n3,…)
引数の排他的論理和を返す。
bit32.btest(n1,n2,n3,…)
bit32.band(n1,n2,n3,…)=0の時にtrue、そうでない時にfalseを返す。
bit32.extract(n,p,[q=1])
nのp番目(から数えてq番目までの)ビットの値を返す。
bit32.replace(n,m,p,(,q=1))
nのp番目(から数えてq番目まで)のビットの値をmで置き換えた整数を返す。
最終更新:2020年08月26日 23:17