Swift基本类型之整型
[TOC]
声明变量时使用整型存储,具体整型到底能存储多大的整型值根据计算机的位决定,如果是32位的操作系统,那么存储的值范围为:-2147483648 ~ 2147483647
,而如果是64位的操作系统,那么存储的值范围为:-9223372036854775808 ~ 9223372036854775807
,换言之整型的存储是有范围的。
例如:这里使用的是 64 位的操作系统,如下定义是能够通过的。
var myInt: Int = 9223372036854775807
let myUInt: UInt = 18446744073709551615
整型
Int.max // 9223372036854775807
Int.min // -9223372036854775808
UInt.max // 18446744073709551615
UInt.min // 0
Int8 有符号 8 位整型
Int8.max // 127
Int8.min // -128
UInt8 无符号 8 位整型
UInt8.max // 255
UInt8.min // 0
Int16 有符号 16 位整型
Int16.max // 32767
Int16.min // -32768
UInt16 无符号 16 位整型
UInt16.max // 65535
UInt16.min // 0
Int32 有符号 32 位整型
Int32.max // 2147483647
Int32.min // -2147483648
UInt32 无符号 32 位整型
UInt32.max // 4294967295
UInt32.min // 0
Int64 有符号 64 位整型
Int64.max // 9223372036854775807
Int64.min // -9223372036854775808
UInt64 无符号 64 位整型
UInt64.max // 18446744073709551615
UInt64.min // 0
不建议在开发中使用这么多的整型的表示方式,除非有非常明确的使用需求,一般情况下我们只需要写
Int
即可。
10 进制表示 10
let decimalInt: Int = 10
2 进制表示 10
let binaryInt: Int = 0b01010
8 进制表示 10
let octalInt: Int = 0o12
16进制表示 10
let hexInt:Int = 0xa
可以使用 _ 分割表示整型
这种写法可以增加程序的可读性。
let bigNum = 100_0000 // 1000000
在整型运算中 Swift 不允许隐式的类型转换
在整型运算中 Swift 不允许隐式的类型转换,这种机制能有效的减少潜在Bug的出现,也表明 Swift 是一门强类型语言。
let x: UInt16 = 10
let y: UInt8 = 20
// binary operator '+' cannot be applied to operands of type 'UInt16' and 'UInt8'
x + y
let m = x + UInt16(y)
let n = UInt8(x) + y