gpt4 book ai didi

binary - Lua:将整数打印为二进制

转载 作者:行者123 更新时间:2023-12-04 01:47:34 28 4
gpt4 key购买 nike

如何将整数表示为二进制?

所以我可以打印 7111

最佳答案

您编写一个函数来执行此操作。

num=7
function toBits(num)
-- returns a table of bits, least significant first.
local t={} -- will contain the bits
while num>0 do
rest=math.fmod(num,2)
t[#t+1]=rest
num=(num-rest)/2
end
return t
end
bits=toBits(num)
print(table.concat(bits))

在 Lua 5.2 中,你已经有了可以帮助你的按位函数 ( bit32 )

这是最重要的版本,可选的前导 0 填充到指定的位数:
function toBits(num,bits)
-- returns a table of bits, most significant first.
bits = bits or math.max(1, select(2, math.frexp(num)))
local t = {} -- will contain the bits
for b = bits, 1, -1 do
t[b] = math.fmod(num, 2)
num = math.floor((num - t[b]) / 2)
end
return t
end

关于binary - Lua:将整数打印为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9079853/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com