lua bit 模块

官方地址


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
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值