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 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.