首页 > 代码库 > Swift学习——Swift基础详解(三)

Swift学习——Swift基础详解(三)

小葵花课堂继续开讲


Numeric Literals    数字文本

数字文本有以下几种写法:

A decimal number, with no prefix
A binary number, with a 0b prefix
An octal number, with a 0o prefix
A hexadecimal number, with a 0x prefix
十进制数,无前缀;二进制数,0b前缀;八进制数,0o前缀;十六进制数,0x前缀

论数字17的N种表现形式:

let decimalInteger = 17
let binaryInteger = 0b10001       // 17 in binary notation
let octalInteger = 0o21           // 17 in octal notation
let hexadecimalInteger = 0x11     // 17 in hexadecimal notation
也可以用十六进制和十进制表示浮点数,科学计数法,十进制用e表示10的指数,十六进制用p表示2的指数

For decimal numbers with an exponent of exp, the base number is multiplied by 10exp:

1.25e2 means 1.25 × 102, or 125.0.
1.25e-2 means 1.25 × 10-2, or 0.0125.
For hexadecimal numbers with an exponent of exp, the base number is multiplied by 2exp:

0xFp2 means 15 × 22, 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,当有其他需要,比如性能或者内存需要的时候可以使用别的整型类型,这个时候使用明确大小的类型可以帮助你捕获异常的溢出