コンテンツにスキップ

整数 (Integer)

5つの符号付き整数と5つの符号なし整数があります。

大きさ 最小値 最大値
Int8 8 -128 127
Int16 16 −32,768 32,767
Int32 32 −2,147,483,648 2,147,483,647
Int64 64 −263 263 - 1
Int128 128 −2127 2127 - 1
UInt8 8 0 255
UInt16 16 0 65,535
UInt32 32 0 4,294,967,295
UInt64 64 0 264 - 1
UInt128 128 0 2128 - 1

整数リテラルは + (オプション) または - 符号に続く数値とアンダースコアからなり、さらに型を表わすサフィックスを続けることができます。 サフィックスがない場合、順にまずInt32の範囲に数がおさまれば型はInt32になり、Int64の範囲におさまればInt64になり、 UInt64の範囲におさまればUInt64になります。 なお、これらの範囲外の128ビット整数には、常にサフィックスを付ける必要があります。

1 # Int32

1_i8   # Int8
1_i16  # Int16
1_i32  # Int32
1_i64  # Int64
1_i128 # Int128

1_u8   # UInt8
1_u16  # UInt16
1_u32  # UInt32
1_u64  # UInt64
1_u128 # UInt128

+10 # Int32
-20 # Int32

2147483648          # Int64
9223372036854775808 # UInt64

サフィックスの前のアンダースコア (_) はオプションです。

アンダースコアは、数値を読みやすくするためにも利用できます。

1_000_000 # better than 1000000

先頭に0bをつけると2進数になります。

0b1101 # == 13

先頭に0oをつけると8進数になります。

0o123 # == 83

先頭に0xをつけると16進数になります。

0xFE012D # == 16646445
0xfe012d # == 16646445