lua 脚本按位与运算

-数字转二进制
function ToSecond(num)
	local str = ""
	local tmp = num
	while (tmp > 0) do
		if (tmp % 2 == 1) then
			str = str .. "1"
		else
			str = str .. "0"
		end
		
		tmp = math.modf(tmp / 2)
	end
	str = string.reverse(str)
	return str
end

--先补齐两个数字的二进制位数
function makeSameLength(num1, num2)
	local str1 = ToSecond(num1) 
	local str2 = ToSecond(num2)
	
	local len1 = string.len(str1)
	local len2 = string.len(str2)
	print("len1 = " .. len1)
	print("len2 = " .. len2)
	
	local len = 0
	local x = 0
	
	if (len1 > len2) then
		x = len1 - len2
		for i = 1, x do
			str2 = "0" .. str2
		end
		len = len1
		print("len = "..len)
	elseif (len2 > len1) then
		x = len2 - len1
		for i = 1, x do
			str1 = "0" .. str1
		end
		len = len2
	end
	len = len1
	return str1, str2, len
end

--按位与
function BitAnd(num1, num2)
	local str1, str2, len = makeSameLength(num1, num2)
	local rtmp = ""
	
	for i = 1, len do
		local st1 = tonumber(string.sub(str1, i, i))
		local st2 = tonumber(string.sub(str2, i, i))
		if(st1 == 0) then
			rtmp = rtmp .. "0"	
		else
			if (st2 ~= 0) then
				rtmp = rtmp .. "1"
			else
				rtmp = rtmp .. "0"
			end
		end
	end
	rtmp = tostring(rtmp)
	return rtmp
end

相关推荐

  1. lua 脚本运算

    2023-12-10 09:52:05       37 阅读
  2. C++运算

    2023-12-10 09:52:05       17 阅读
  3. 例题

    2023-12-10 09:52:05       45 阅读
  4. Lua编译运行

    2023-12-10 09:52:05       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-10 09:52:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-10 09:52:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-10 09:52:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-10 09:52:05       20 阅读

热门阅读

  1. Go语言 接口型函数

    2023-12-10 09:52:05       42 阅读
  2. 如何在Go中编写包

    2023-12-10 09:52:05       46 阅读
  3. go与ioc

    2023-12-10 09:52:05       33 阅读
  4. 深入学习之anaconda、pytorch、cuda安装

    2023-12-10 09:52:05       39 阅读
  5. 开启 winrm 功能

    2023-12-10 09:52:05       35 阅读
  6. VSCode 创建工作区,多文件夹终端切换

    2023-12-10 09:52:05       35 阅读
  7. Python排序指南

    2023-12-10 09:52:05       35 阅读
  8. Vue笔记(五)路由进阶

    2023-12-10 09:52:05       38 阅读
  9. python制作贪吃蛇游戏

    2023-12-10 09:52:05       37 阅读
  10. TimescaleDB-1 安装

    2023-12-10 09:52:05       52 阅读
  11. 力扣1004题 最大连续1的个数 III 滑动窗口

    2023-12-10 09:52:05       33 阅读