我是Swift语言的新手并且正在使用它。我知道在大多数语言中1.5e3
表示1.5 * 10 ^3
,这在Swift中也是如此。但是,当它基础16时,我很难理解它。以下是两个例子,希望有人可以解释它们是什么:
println(0x12e3)
println(0x12p3)
结果是:
4835
144.0
答案 0 :(得分:1)
第一个例子没有使用科学记数法 - 因为e
是十六进制的有效数字,这是数字12E3
,即十进制的4835。
(1 * 4096) + (2 * 256) + (14 * 16) + (3 * 1) = 4835
第二个例子是十六进制数12
(十进制18)乘以二进制指数(2 ^ 3),即8.
8 x 18 = 144
这种表示法在Swift language documentation中描述。