1.调用
local bit = require("bit")
2.函数
定义函数
function printx(x)
print("0x"..bit.tohex(x))
end
-- 转换
y = bit.tobit(x)
y = bit.tohex(x [,n])
y = bit.bnot(x)
--与或非
y = bit.bor(x1 [,x2...])
y = bit.band(x1 [,x2...])
y = bit.bxor(x1 [,x2...])
--逻辑左移/逻辑右移/算术右移
y = bit.lshift(x, n)
y = bit.rshift(x, n)
y = bit.arshift(x, n)
例子:
print(bit.lshift(1, 0)) --> 1
print(bit.lshift(1, 8)) --> 256
print(bit.lshift(1, 40)) --> 256
print(bit.rshift(256, 8)) --> 1
print(bit.rshift(-256, 8)) --> 16777215
print(bit.arshift(256, 8)) --> 1
print(bit.arshift(-256, 8)) --> -1
printx(bit.lshift(0x87654321, 12)) --> 0x54321000
printx(bit.rshift(0x87654321, 12)) --> 0x00087654
printx(bit.arshift(0x87654321, 12)) --> 0xfff87654
--左旋转/右旋转
y = bit.rol(x, n)
y = bit.ror(x, n)
printx(bit.rol(0x12345678, 12)) --> 0x45678123
printx(bit.ror(0x12345678, 12)) --> 0x67812345
--互换
y = bit.bswap(x)
printx(bit.bswap(0x12345678)) --> 0x78563412
printx(bit.bswap(0x78563412)) --> 0x12345678
---------------------
作者:yangguanghaozi
来源:CSDN
原文:https://blog.csdn.net/yangguanghaozi/article/details/52100501
版权声明:本文为博主原创文章,转载请附上博文链接!