整形
整形是指不包括小数的数字类型,包括有符号数和无符号数,比如32,-20都是整形。swift提供了8位,16位,32位和64位的有符号和无符号的整数。他们的命名和C语言差不多,UInt8
是无符号8位整形,32位有符号整形是Int32
等等,每一个整形都有特定的名字。
整数边界
整数都有一个最大值和最小值,可以通过min
和max
属性获取最大值和最小值。
let minValue = UInt8.min // 最小值 0
let maxValue = UInt8.max // 最大值是255
Int
大多数情况下,我们在使用的时候直接使用Int
类型就好了,Int
的大小和当前操作系统有关,如果是32位的操作系统,它的位数和Int32
一样,如果是64位的操作系统,它的位数和Int64
一样。所以我们在使用的时候直接使用Int
就好。
同样,如果是无符号类型,直接使用UInt
就好,UInt
的大小也是和当前操作系统有关,如果是32位的操作系统,它的位数和UInt32
一样,如果是64位的操作系统,它的位数和UInt64
一样。
浮点型
比起整数,浮点数有更高的精度,所以它可以存储比Int
更多的数。Swift里面提供的浮点数主要有以下两个。32位浮点数的的使用Float
,64位浮点数的使用Double
。
类型安全和类型推断
Swift是一个类型安全语言,类型安全语言鼓励开发者把变量或是常量的类型写的清晰名了。比如一个String
的类型,开发者不应该传递一个Int
类型。其实Xcode会自定进行类型检查,如果类型不相符会给出错误提示。
不过如果开发者没有给变量或是常量定义具体的类型。系统会根据赋值数据进行类型推断。
let name = "dog"
系统会自动推断出name的类型为String
。
let myInt = 30
系统可以推断出myInt类型为整形。
如果使用了一个表达式,系统也可以自动推断出类型来,比如。
let pi = 3 + 0.14159
系统推断pi为Double
进制
- 十进制数不需要加前缀
- 二进制数以
0b
为前缀 - 八进制数以
0o
为前缀 - 十六进制数以
0x
为前缀
let decimalInteger = 17
let binaryInteger = 0b10001 // 17 的二进制
let octalInteger = 0o21 // 17 八进制
let hexadecimalInteger = 0x11 // 17 十六进制
幂运算,十次方使用e
幂运算,二次方使用
p
@H_404_164@