数字的表示(Numeric Literals)
整型的表示:
十进制没有前缀,二进制前面加上0b,八进制前面加上0o,十六进制前面加上0x,如下十进制17的表示:
letdecimalInteger = 17
let binaryInteger = 0b10001 // 17 in binary notation
let octalInteger = 0o21 // 17 in octal notation
let hexadecimalInteger = 0x11 // 17 in hexadecimal notation”
浮点数的表示:
浮点数的表示可以使用十进制,也可以使用十六进制,两种表示方式在小数点两边都有数值。此外还可以使用指数的表示形式,十进制使用 E或者e,十六进制使用P或者 p,十进制的e表示的浮点数,指数的基数时10,而十六进制的是2,如下:
1.25e2 means 1.25 × 102, or 125.0.
1.25e-2 means 1.25 × 10-2, or 0.0125.”
0xFp2 means 15 × 2*(2), or 60.0.
0xFp-2 means 15 × 2*(-2), or 3.75.”
十进制数12.1875 的不同表示方式
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0
为了方便阅读,数字的表示还可以有其他的方式,例如增加格外的0,增加下划线,如下:
let paddedDouble =000123.456
let oneMillion =1_000_000
let justOverOneMillion= 1_000_000.000_000_1
数字类型转换(Numeric Type Conversion)
在代码中对于整型常量和变量尽量地使用Int类型,即使知道数据不会为非负。每个地方都使用默认的整型类型,代码会达到一致性,且兼容于通过语义推测的整型类型(//var test = 10,test的数据类型就被swift推测为整型)。
仅仅当 对于特别的任务需要其他的整型类型时才去使用,例如:外部数据特别的指定了整型数据的大小,或者为了性能,内存的使用或者是其他的优化。这些情况下显式的指定数据的类型大小能够帮助捕获值的溢出,同时也暗示了所使用的数据的本质意义(nature of the data beingused)