ある知財部員 兼 (元)技術者 の日記

企業の知財部員の日記です。
趣味でプログラミングをしており、備忘録として覚えたことを投稿するかもしれません。

Swift文法基礎(6) 整数 Int, UInt他

2023-08-19 14:03:39 | iOSプログラミング(Swift)

整数には符号付(負、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



コメントを投稿