Lua位操作库
2015-5-26 19:59:21
收藏:0
阅读:187
评论:1
现在我已经编写了自己的函数来执行按位与+非运算,但后来我看到了 bit 库并尝试使用它,但它并不像我想象的那样工作,它返回的是一个大的十进制数,而不是二进制位,所以我的问题实际上有几个。
第一点:如何使用 bit32 库对二进制数执行按位与。
10110111
11000100 = 10000100
第二点:如何使用 bit32 库以二进制格式添加网络地址和通配掩码来计算 ipv4 广播地址。
192.168.1.0 + 31 = 192.168.1.31
11000000.10100000.00000001.00000000
00000000.00000000.00000000.00011111 = 11000000.10100000.00000001.00011111
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
我假设您的位与/非函数采用字符串参数。
数字可以有多种表示方式。2进制中的数字110101和10进制中的数字53具有相同的值。
当您输入以下内容时:
Lua将123转换为它的二进制表示形式1111011,并将其存储为位数。 当您输入
print(x)Lua进入内存,抓取1111011的x,然后将其转换为更具人类可读性的10进制表示形式,您会看到
您编写的位运算函数对显示数字的二进制表示的字符串执行位运算,例如“1111011”。 bit32库对显示数字的十进制表示,例如123执行位运算。
在Lua中,“1001001”是字符串,但如果对它执行算术运算,则将其视为以10进制书写的数字。 因此,当您执行以下操作时,
bit32.band("101","110")bit32.band函数将其参数解释为一百零一和一百一十。
您必须先将二进制字符串转换为数字:
bit32.band(tonumber("101",2), tonumber("110",2))