在Python中,我有:
>>> mac_string = "68:a8:6d:0b:90:46"
>>> mac_int = int((mac_string).replace(":", ""), 16)
>>> print(mac_int)
115072593268806
在 Lua 中,我有:
> mac_string = "68:a8:6d:0b:90:46"
> mac_int = tonumber(mac_string:gsub(':',''),16)
> print(mac_int)
1.1507259326881e+14
为什么相差4?
最佳答案
Lua 5.1默认情况下总是将数字存储为64位浮点值。 tostring
使用科学记数法来打印非常大或小的值。
如果使用string.format
格式化数字,可以得到所有数字:
> print(string.format("%15d", mac_int))
115072593268806
关于python - Lua和Python在十六进制转换方面的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34093066/