luaは、数値のバイナリ形式のビットの値を設定して取得します.
431 ワード
-- ,index 1
function GetBitByIndex(num, index)
local b = bit32.lshift(1, (index -1))
return bit32.band(num, b)
end
-- ,index 1 ,v: 0 1
function SetBitByIndex(num, index, v)
local b = bit32.lshift(1, (index - 1))
if v > 0 then
num = bit32.bor(num, b)
else
b = bit32.bnot(b)
num = bit32.band(num, b)
end
return num
end