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

print(0x1e1)在Lua中将输出481,但我不知道为什么。请问有人能帮我理解吗?

点赞
用户3221630
用户3221630

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

0x前缀代表这个数是十六进制,或者是16进制。

没有前缀代表这个数是十进制,或者是10进制。

格式化

默认情况下,print会将数字格式化为十进制。

要打印特定进制的数字:

# 作为十进制
print(string.format("%d", 0x1e1))   # 输出:481
print(0x1e1) # 输出:481

# 作为十六进制
print(string.format("%x", 0x1e1))   # 输出:1e1
2017-05-29 09:49:27