整数 (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