Lua中的print(0x1e1)输出是什么?为什么?

时间:2017-05-29 09:44:39

标签: lua

print(0x1e1)将在Lua打印481,但我不知道为什么。有人可以帮我理解吗?

1 个答案:

答案 0 :(得分:5)

因为481(十进制)是1e1(十六进制)。

0x前缀表示数字为十六进制,或者为16。

没有前缀意味着数字是十进制,或者是10。

格式

print默认将数字格式化为十进制。

要打印特定基数的数字:

# As decimal
print(string.format("%d", 0x1e1))   # Output: 481
print(0x1e1) # Output: 481

# As hexadecimal
print(string.format("%x", 0x1e1))   # Output: 1e1