Swift語言指南 三 語言基礎之整數和浮點數

2021-09-06 16:08:19 字數 1727 閱讀 5534

原文:

swift語言指南(三)--語言基礎之整數和浮點數

整數

整數指沒有小數的整數,如42,-23。整數可以是有符號的(正數,零,負數),也可以是無符號的(正數,零)。

swift提供了8,16,32,64位形式的有符號和無符號的整數,這些整數遵循與c語言相似的命名規則。如8位無符號整數的型別為uint8,32位有符號整數的型別為int32,和swift語言的其它型別一樣,這些整型命名以大寫字母開頭。

整數的邊界

你可以通過min或max屬性為每乙個整數型別指定乙個最小值或最大值:

1 let 最小值 = uint8.min //

最小值 等於 0,型別為 uint8

2 let 最大值 = uint8.max //

最大值 等於 255,型別為 uint8

這些屬性(max和min等)的值與對應的數字寬度(size)一致(如上例中的unit8),因此可以在表示式與其它同一型別的值一起使用。

int

大多數情況下,你不需要選擇**中所使用的整數寬度。swift提供了乙個額外的整數型別--int,它與當前平台的原生字長寬度(native word size

)一致。

·在 32 位平台,int 與 int32 寬度一致。

·在 64 位平台,int 與 int64 寬度一致。

除非你需要處理特定寬度的整數,在**中應該堅持使用 int 表示整數。這樣可以保證**的一致性及互通性。即使是在 32 位平台,int 也能儲存 -2,147,483,648 到 2,147,483,647 之間的任意數值,這對於很多整數區間而言已經夠大了。

uint

swift也提供了乙個無符號的整數型別--uint,它與當前平台的原生字長寬度(native word size)一致。

·在 32 位平台,int 與 int32 寬度一致。

·在 64 位平台,int 與 int64 寬度一致。

注意:只有在特別需要寬度與平台原生字長一致的時才需要使用無整數型別 uint。否則應使用 int,即使要儲存的值一定是非負數。堅持使用 int 表示整數值有助於保證**互通性、避免不同資料型別的轉換,並且與整數型別推斷相匹配,參見型別安全及型別推斷(下章將會譯到)。

浮點數

浮點數指有小數部分的數字,如3.14159, 0.1, 和 -273.15。

浮點數能表示比整數更寬泛的值域範圍,而且,能儲存比整數更大或更小的值。swift提供了兩種有符號的浮點數型別:

· double 表示乙個 64 位浮點數。在浮點數值非常大或非常精確時使用它。

· float

表示乙個 32 位浮點數。在浮點數值不需要 64 位精度時使用它。

注意:

double 有15 個十進位制有效數字的精度,而 float 的精度只有 6 位十進位制有效數字。應根據**所需數值的特點及值域選用合適的浮點數型別。

謝謝,swifter-qq群:362232993,同好者進~ 

fork:

Swift 語言指南 Issue 33

本期特別推薦swiftyform 表單輸入框架 亮點是表單驗證規則引擎 是我見過地最易用的 swift 表單元件。swift 2.0 翻譯啟動 by 梁傑 numbbbbb swift 專案精選 最近新收錄 swiftyform,swiftsequence,swifter,geoswift,cksi...

Swift 語言指南 Issue 47

往期回顧 本期特別推薦1.專案 kitura ibm swift 開發組的開源 web 伺服器 advance 側重在手勢互動 幀動畫 自定義動畫及 型別的動畫框架庫 promisekit swift 化的 promise 類庫 以及 zewo 底層庫元件化超強大中介軟體框架 2.文件 reacti...

Swift語言基礎筆記(四)

通過前面幾篇的學習,swift的基礎型別學習的差不多了,接下來就學習流程控制與條件語句和運算子 一 運算子 playground noun a place where people can play import uikit 運算子swift學習,注意不同型別需要顯示強制轉換 var x 10 va...