Swift基本类型之整型

[TOC]

声明变量时使用整型存储,具体整型到底能存储多大的整型值根据计算机的位决定,如果是32位的操作系统,那么存储的值范围为:-2147483648 ~ 2147483647,而如果是64位的操作系统,那么存储的值范围为:-9223372036854775808 ~ 9223372036854775807,换言之整型的存储是有范围的。

例如:这里使用的是 64 位的操作系统,如下定义是能够通过的。

var myInt: Int = 9223372036854775807
let myUInt: UInt = 18446744073709551615

整型

Int.max // 9223372036854775807
Int.min // -9223372036854775808
UInt.max // 18446744073709551615
UInt.min // 0

Int8 有符号 8 位整型

Int8.max // 127
Int8.min // -128

UInt8 无符号 8 位整型

UInt8.max // 255
UInt8.min // 0

Int16 有符号 16 位整型

Int16.max // 32767
Int16.min // -32768

UInt16 无符号 16 位整型

UInt16.max // 65535
UInt16.min // 0

Int32 有符号 32 位整型

Int32.max // 2147483647
Int32.min // -2147483648

UInt32 无符号 32 位整型

UInt32.max // 4294967295
UInt32.min // 0

Int64 有符号 64 位整型

Int64.max // 9223372036854775807
Int64.min // -9223372036854775808

UInt64 无符号 64 位整型

UInt64.max // 18446744073709551615
UInt64.min // 0

不建议在开发中使用这么多的整型的表示方式,除非有非常明确的使用需求,一般情况下我们只需要写Int即可。

10 进制表示 10

let decimalInt: Int = 10

2 进制表示 10

let binaryInt: Int = 0b01010

8 进制表示 10

let octalInt: Int = 0o12

16进制表示 10

let hexInt:Int = 0xa

可以使用 _ 分割表示整型

这种写法可以增加程序的可读性。

let bigNum = 100_0000 // 1000000

在整型运算中 Swift 不允许隐式的类型转换

在整型运算中 Swift 不允许隐式的类型转换,这种机制能有效的减少潜在Bug的出现,也表明 Swift 是一门强类型语言。

let x: UInt16 = 10
let y: UInt8 = 20
// binary operator '+' cannot be applied to operands of type 'UInt16' and 'UInt8'
x + y 
let m = x + UInt16(y)
let n = UInt8(x) + y
Copyright © http://blog.webfsd.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2018-01-02 01:37:26

results matching ""

    No results matching ""