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

Gou*_*Das 0 lua

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

arb*_*l84 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
Run Code Online (Sandbox Code Playgroud)