Язык программирования Crystal

Целые числа

Есть четыре знаковых целочисленных типа: Int8, Int16, Int32 и Int64, представляющие 8, 16, 32, 64-битные числа соответственно.

А также четыре беззнаковых целочисленных типа: UInt8, UInt16, UInt32 и UInt64.

Целочисленный литерал, это необязательный знак + или -, затем последовательность чисел и символов подчеркивания, с необязательным суффиксом типа. Если суффикс отсутствует, тип по умолчанию выбирается из наиболее подходящих к числу типов: Int32, Int64 и UInt64:

1      # Int32

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

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

+10    # Int32
-20    # Int32

2147483648          # Int64
9223372036854775808 # UInt64

Нижнее подчеркивание _ перед суффиксом необязательно.

Подчеркивания используются для того, чтобы сделать числа удобными для чтения:

1_000_000 # лучше чем 1000000

Двоичные числа начинаются с 0b:

0b1101 # == 13

Восьмеричные числа начинаются с 0o:

0o123 # == 83

Шестнадцатеричные числа начинаются с 0x:

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