我是 Swift 语言新手,正在使用它。我知道在大多数语言中 1.5e3
表示 1.5 * 10 ^3
,这在 Swift 中也是如此。然而,当涉及到16进制时,我就很难理解了。下面是两个例子,希望有人能解释一下它们是什么:
println(0x12e3)
println(0x12p3)
结果是:
4835
144.0
最佳答案
第一个示例不使用科学计数法 - 因为 e
是十六进制的有效数字,即数字 12E3
,十进制为 4835。
(1 * 4096) + (2 * 256) + (14 * 16) + (3 * 1) = 4835
第二个示例是十六进制数 12
(十进制为 18)乘以二进制指数 (2 ^ 3),即 8。
8 x 18 = 144
此表示法在 Swift language documentation 中进行了描述。 .
关于16 进制的 Swift 科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29341246/