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 还包括整数字面量、按位运算和整数转换等工具。

更新于: 2023年2月28日

238 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告