整数
- 整数分为 Int (有符号)和 UInt (无符号) 两种类型
- Int 和 UInt 后面可以带数字 8、16、32、64,分别代表 8、16、32、64 位的整数
- 通过 min 和 max 属性可以访问整数类型的最大值和最小值
// 打印有符号整数和无符号整数的最小值和最大值
print ("\(Int.min), \(Int.max)")
print ("\(UInt.min), \(UInt.max)")
// 打印 32 位有符号整数和无符号整数的最小值和最大值
print ("\(Int32.min), \(Int32.max)")
print ("\(UInt32.min), \(UInt32.max)")
// ...
类型 | 字节数 | 取值范围 |
---|---|---|
Int8 | 1 字节 | -128 到 127 |
UInt8 | 1 字节 | 0到 255 |
Int16 | 2 字节 | -32768 到 32767 |
UInt16 | 2 字节 | 0 到 65535 |
Int32 | 4 字节 | -2147483648 到 2147483647 |
UInt32 | 4 字节 | 0到 4294967295 |
Int64 | 8 字节 | -9223372036854775808 到 9223372036854775807 |
UInt64 | 8 字节 | 0 到 18446744073709551615 |
Int 和 UInt 会自适应平台类型,所以我们不需要关系系统是 32 位还是 64位
建议在用到整数的地方都是用 Int
浮点数
- Float:单精度 32 位浮点数,精度保留 6 位
- Double:双精度 64 位浮点数,精度保留 15 位
- Float80:扩展精度 80 位浮点数,精度保留 19 位
let f: Float = 1/3 // 0.3333333
let d: Double = 1/3 // 0.3333333333333333
let f8: Float80 = 1/3 // 0.33333333333333333334
类型 | 字节数 | 取值范围 |
---|---|---|
Float | 4 字节 | 1.1754944e-38 到 3.4028235e+38 |
Double | 8 字节 | 2.2250738585072014e-308 到 1.7976931348623157e+308 |
Double | 10 字节 | 3.3621031431120935063e-4932 到 1.189731495357231765e+4932 |
Bool
- true:真
- false:假
不同于 OC 中的 BOOL 类型,不再接受 0 代表 false、1 代表 true
网友评论