Swift 有哪些整数类型?
在 Swift 中,有不同的整数类型:
Int - 一个带符号整数,其大小等于计算机的原生字长(根据平台的不同,为 32 位或 64 位)。
带符号整数类型,具有各种位大小范围,包括 Int8、Int16、Int32 和 Int64。
UInt - 一个无符号整数类型,其原生字长与硬件相同(根据平台的不同,为 32 位或 64 位)。
指定位大小的无符号整数类型包括 UInt8、UInt16、UInt32 和 UInt64。
以下是一些在 Swift 中使用每种整数类型的示例:
Int
这是 Swift 语言中最常用的数字类型。在 Swift 中声明整数值时,默认类型为 Int。以下是一些声明 int 类型的示例:
示例
let a = 42 // int by default let b: Int = -100 let c = Int.max let d = Int.min print("a: \(a), b: \(b), c: \(c), d: \(d)")
输出
a: 42, b: -100, c: 9223372036854775807, d: -9223372036854775808
Int8
当您想要存储一个较小的数字范围时,可以使用 Int8。以下是一些声明 Int8 类型的示例:
示例
let a: Int8 = 42 let b: Int8 = -100 let c = Int8.max let d = Int8.min print("a: \(a), b: \(b), c: \(c), d: \(d)")
输出
a: 42, b: -100, c: 127, d: -128
Int16
当您想要存储 16 位的整数时,可以使用 Int16。以下是一些声明 Int16 类型的示例:
示例
let a: Int16 = 42 let b: Int16 = -100 let c = Int16.max let d = Int16.min print("a: \(a), b: \(b), c: \(c), d: \(d)")
输出
a: 42, b: -100, c: 32767, d: -32768
Int32
当您想要存储 32 位的整数时,可以使用 Int32。以下是一些声明 Int32 类型的示例:
示例
let a: Int32 = 42 let b: Int32 = -100 let c = Int32.max let d = Int32.min print("a: \(a), b: \(b), c: \(c), d: \(d)")
输出
a: 42, b: -100, c: 2147483647, d: -2147483648
Int64
当您想要存储 64 位的整数时,可以使用 Int64。以下是一些声明 Int64 类型的示例:
示例
let a: Int64 = 42 let b: Int64 = -100 let c = Int64.max let d = Int64.min print("a: \(a), b: \(b), c: \(c), d: \(d)")
输出
a: 42, b: -100, c: 9223372036854775807, d: -9223372036854775808
UInt
当您想要存储无符号整数时,可以使用 UInt。以下是一些声明 UInt 类型的示例:
示例
let a = 42 // UInt by default let b: UInt = 100 let c = UInt.max print("a: \(a), b: \(b), c: \(c)")
输出
a: 42, b: 100, c: 18446744073709551615
有几种类型的整数数据类型。您可以根据您的需求选择整数来执行算术运算、比较和其他运算。对于无符号值,您可以使用 UInt 整数类型。您可以将整数从一种类型转换为另一种类型。
除了我们之前提到的整数类型外,Swift 还有一些其他与整数相关的类型和特性:
Int 和 UInt - 这些是在 Swift 中最常用的整数类型。它们可以表示广泛的正负值,并且与机器的原生字长大小相同(根据平台的不同,为 32 位或 64 位)。
Int8、Int16、Int32、Int64 和 UInt8、UInt16、UInt32、UInt64 - 这些是带符号和无符号整数类型的不同位大小。当与外部系统交互时,如果这些系统对整数的大小有某些限制,它们非常有用,并且可以用来表示特定范围内的数字。
整数字面量 - Swift 支持十进制、二进制、八进制和十六进制整数字面量。例如,您可以用十进制形式编写 42,用二进制形式编写 0b101010,用八进制形式编写 052,用十六进制形式编写 0x2A。
整数溢出和下溢 - 当对整数进行运算产生超出整数类型范围的数字时,会使用“溢出”和“下溢”这两个术语。Swift 提供了一些选项来处理这些情况,包括检查和环绕溢出运算符。
按位运算 - 为了对整数的各个位执行运算,Swift 提供了一组按位运算符,包括 &、|、^、~ 等。
整数转换 - as 运算符、&(与赋值)运算符和 init(_:) 初始化器只是 Swift 使整数类型之间转换成为可能的一些方法。
总的来说,Swift 提供了广泛的选择来处理整数。这包括具有特定范围和功能的各种类型,以及一套运算符和特性,使处理整数更加方便。
结论
Swift 有各种整数类型,包括 Int、Int8、Int16、Int32、Int64 和 UInt、UInt8、UInt16、Int32 和 UInt64,用于编码整数。这些类型在许多上下文中都很有用,并且每个类型都有其可以表示的一组定义值。
例如,具有定义宽度的类型(如 Int8 和 UInt16)在与外部系统交互时很有用,这些系统对整数的大小有特定的要求。Int 和 UInt 适用于通用整数运算。为了使处理整数更方便,Swift 还包括整数字面量、按位运算和整数转换等工具。