2017-05-29 68 views

回答

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 
+0

我還是不明白說實話! 1e1是1x10^1對不對?等於10.然後打印(0x1e1)==>打印(0x10)==> 16(十進制)。那麼481怎麼樣? –

+0

不,先生。在這種情況下,「e」不是科學記數法,而是「數字**」。在十六進制中(基數爲16),數字從0到16:0,1,2,3,4,5,6,7,8,9, A(10),B(11),C(12),D (13),E(14),F(15)。 0x10是16. 0x100是256 – arboreal84

+0

謝謝,現在我明白了:D –