Swift 以 16 为基数的科学记数法
Swift scientific notation in base 16
我是 Swift 语言的新手,正在使用它。我知道在大多数语言中 1.5e3
表示 1.5 * 10 ^3
,在 Swift 中也是如此。但是,当涉及到 16 进制时,我很难理解它。下面是2个例子,希望有人能解释一下它们是什么:
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 中进行了描述。
我是 Swift 语言的新手,正在使用它。我知道在大多数语言中 1.5e3
表示 1.5 * 10 ^3
,在 Swift 中也是如此。但是,当涉及到 16 进制时,我很难理解它。下面是2个例子,希望有人能解释一下它们是什么:
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 中进行了描述。