gpt4 book ai didi

lua - 如何将二进制转换为十进制(LUA)

转载 作者:行者123 更新时间:2023-12-04 23:34:05 42 4
gpt4 key购买 nike

我知道有tonumber()函数,但是问题是我需要转换较大的数字,例如1000100110100011111010101001001001001100100101。我可以自己写,但是有没有办法将其集成到函数中呢?如果我在当前函数中编写该代码,它将返回不同的数字。例如:通过Wolfram alpha,我将“ Something”(基于36)转换为二进制并得到10010011001100011001011110001100000110110101100
如果将其放在自定义函数中并转换回基数36,则会得到1Z141Z34294967295(未分配int的范围)

最佳答案

从5.3开始,Lua支持64位整数。您的Lua是最新的吗?

打开http://www.lua.org/cgi-bin/demo
并执行此快速而肮脏的转换。结果与您引用的Wolfram Alpha编号匹配。

local dec = 80920602611116

local bin = "10010011001100011001011110001100000110110101100"

bin = string.reverse(bin)
local sum = 0

for i = 1, string.len(bin) do
num = string.sub(bin, i,i) == "1" and 1 or 0
sum = sum + num * math.pow(2, i-1)

end

print(sum)

关于lua - 如何将二进制转换为十进制(LUA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37543274/

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