4-2/3整數型別
整數型別用於表示整數。
整數型別分為兩種:
(1)有符號整數型別:可以表示正整數、0和負整數。
(2)無符號整數型別:只能表示正整數和0,不能表示負整數。
有符號整數型別有五種表示方式:
(1)Int8:在記憶體中佔8位,第1位是符號位,能表示的整數範圍是:-128(-2的7次方)~ 127(2的7次方減1)。
(2)Int16:在記憶體中佔16位,第1位是符號位,能表示的整數範圍是:-32768(-2的15次方)~ 32767(2的15次方減1)。
(3)Int32:在記憶體中佔32位,第1位是符號位,能表示的整數範圍是:-2147483648(-2的31次方)~ 2147483647(2的31次方減1)。
(4)Int64:在記憶體中佔64位,第1位是符號位,能表示的整數範圍是:-2的63次方~ 2的63次方減1。
(5)Int:對於32位的作業系統,Int = Int32;對於64位的作業系統,Int = Int64。除非出於記憶體優化、效能調優等考慮,否則,推薦總是使用Int表示有符號整數型別,這有助於程式碼的一致性和互操作性。
無符號整數型別也有五種表示方式:
(1)UInt8:在記憶體中佔8位,沒有符號位,能表示的整數範圍是:0 ~ 256(2的8次方)。
(2)UInt16:在記憶體中佔16位,沒有符號位,能表示的整數範圍是:0 ~ 65536(2的16次方)。
(3)UInt32:在記憶體中佔32位,沒有符號位,能表示的整數範圍是:0 ~ 4294967296(2的32次方)。
(4)UInt64:在記憶體中佔64位,沒有符號位,能表示的整數範圍是:0 ~ 2的64次方。
(5)UInt:對於32位的作業系統,UInt = UInt32;對於64位的作業系統,UInt = UInt64。即便知道被儲存的數值是非負的,也推薦使用Int而不使用UInt,這有助於程式碼的一致性和互操作性。
如果被儲存的值超出了變數或常量的資料型別所能表示的數值範圍,程式是可以編譯通過的,但是執行時會出錯。
var i8: Int8 = 15
// 被儲存的值超出了Int8所能表示的數值範圍
// i8 = -129
// 被儲存的值超出了Int8所能表示的數值範圍
// i8 = 128
var ui16: UInt16 = 32618
// 被儲存的值超出了UInt16所能表示的數值範圍
// ui16 = -1
// 被儲存的值超出了UInt16所能表示的數值範圍
// ui16 = 65537
可以訪問不同整數型別的屬性min和max來得到其最小值和最大值。
Int8.min
Int8.max
UInt16.min
UInt16.max
如果宣告並初始化整數型別的變數或常量時不指定具體的整數型別,系統預設將該變數或常量推斷為Int型別。
let i =18
// let i: Int = 18
整數型別的直接數有4種進製表示方式:
(1)10進位制:預設的進位制
(2)2進位制:以0b開頭
(3)8進位制:以0o開頭
(4)16進位制:以0x開頭
let decimalInt =18
let binaryInt = 0b10010
let octalInt = 0o22
let hexadecimalInt = 0x12
可以給整數型別的直接數新增若干個0或_,以提高其可讀性。
let readableInt =001_234_56
相關文章
- Mysql 資料型別之整數型別MySQL 資料型別
- 高效能Mysql(第3版)_資料型別的選擇_整數型別MySql資料型別
- mysql整數資料型別深入解析MySql資料型別
- 二分法(整數型別)的基本框架型別框架
- double型別中可精確表達的最大正整數型別
- Shell-變數高階用法 (3) 有型別變數變數型別
- 06 Windows批處理之整數和浮點資料型別Windows資料型別
- excel 整數匯入資料庫轉成varchar型別後多了小數點Excel資料庫型別
- Go 基礎教程--3-型別與變數Go型別變數
- 小白學python系列-(3)基礎數量型別Python型別
- 3.Python3原始碼—整數物件Python原始碼物件
- Python3.*(第五課——數值型別,萬物皆有類別)Python型別
- 3.帶你掌握Dart中的數值型別Dart型別
- Python如何保留float型別小數點後3位Python型別
- PHP變數型別PHP變數型別
- TypeScript 數值型別TypeScript型別
- Java 變數型別Java變數型別
- Python數值型別Python型別
- 變數型別-Set變數型別
- 解析型別引數型別
- Python 序列型別以及函式引數型別Python型別函式
- std::packaged_task<返回型別(引數型別)>Package型別
- js基本語法之 值型別(資料型別)(變數型別)JS資料型別變數
- Python 3 快速入門 1 —— 資料型別與變數Python資料型別變數
- 3.資料型別資料型別
- TypeScript(3)基礎型別TypeScript型別
- Python資料型別3Python資料型別
- CTFHub SQL 整數型注入【最快四步】SQL
- 3. php資料型別、資料型別轉換PHP資料型別
- 資料型別,變數資料型別變數
- JavaScript - 變數、值、型別JavaScript變數型別
- 變數型別轉換變數型別
- 【Scala之旅】型別引數型別
- 3. 基本資料型別資料型別
- 3.Java資料型別Java資料型別
- Flutter學習筆記(3)--Dart變數與基本資料型別Flutter筆記Dart變數資料型別
- 在Vue3中如何為路由Query引數標註型別Vue路由型別
- 強型別語言變數和資料型別的理解變數資料型別