整数には符号付(負、0、正)と符号なし(0以上)があります。
var d, e, f: Int
d = -3
e = 0
f = 234
var g, h, i: UInt
g = 0
h = -5 // コンパイルエラー
i = 22
整数は8,16,32,64ビットで指定できます。
さらに、それぞれのビットにおける最大値、最小値を取得できます。
var a1:UInt8,a2:UInt8, b1:UInt16,b2:UInt16, c1:UInt32,c2:UInt32, d1:UInt64,d2:UInt64
var e1:Int8,e2:Int8, f1:Int16,f2:Int16, g1:Int32,g2:Int32, h1:Int64,h2:Int64
a1 = UInt8.max
a2 = UInt8.min
b1 = UInt16.max
b2 = UInt16.min
c1 = UInt32.max
c2 = UInt32.min
d1 = UInt64.max
d2 = UInt64.min
print(" UInt8.max = \(a1)\n UInt8.min = \(a2)\n UInt16.max = \(b1)\n UInt16.min = \(b2)\n UInt32.max = \(c1)\n UInt32.min = \(c2)\n UInt64.max = \(d1)\n UInt64.min = \(d2)")
e1 = Int8.max
e2 = Int8.min
f1 = Int16.max
f2 = Int16.min
g1 = Int32.max
g2 = Int32.min
h1 = Int64.max
h2 = Int64.min
print(" Int8.max = \(e1)\n Int8.min = \(e2)\n Int16.max = \(f1)\n Int16.min = \(f2)\n Int32.max = \(g1)\n Int32.min = \(g2)\n Int64.max = \(h1)\n Int64.min = \(h2)")
以下、Consoleの出力です。
UInt8.max = 255
UInt8.min = 0
UInt16.max = 65535
UInt16.min = 0
UInt32.max = 4294967295
UInt32.min = 0
UInt64.max = 18446744073709551615
UInt64.min = 0
Int8.max = 127
Int8.min = -128
Int16.max = 32767
Int16.min = -32768
Int32.max = 2147483647
Int32.min = -2147483648
Int64.max = 9223372036854775807
Int64.min = -9223372036854775808
なお、32ビットOS上ではIntはInt32、UIntはUInt32と同じサイズ、64ビットOS上ではIntはInt64、UintはUint64と同じサイズになります。
var int:Int,uint:UInt
int = Int64.max /*コンパイルエラーになる*/
uint= UInt64.max /*コンパイルエラーになる*/
int = Int(Int64.max) /*OK*/
uint = UInt(UInt64.max)/*OK*/
print(int,uint)
以下、Console出力です。
9223372036854775807 18446744073709551615