Курс языка программирования Raku / Основы / Основы переменных и типов данных / Числа

Операции с числами

Безусловно вы уже знакомы с некоторыми операциями, которые можно совершать с числами в Raku. Отметим, что символ операции называется оператором. Объекты, над которыми совершается операция, называются операндами.

Арифметика

Оператор | Операция + | Сложение - | Вычитание * | Умножение / | Деление

Так как Raku очень хорошо поддерживает Юникод, некоторые операторы имеют эквивалент в Юникоде:

× | Умножение ÷ | Деление

Используйте скобки, чтобы изменить порядок выполнения:

say 3 * 4 + 5;   # 17
say 3 * (4 + 5); # 27

Остаток от деления

Оператор остатка от деления — это %, как и во многих других языках.

% | Остаток от деления

Он возвращает остаток от целочисленного деления двух чисел, например 10 % 3 равно 1. Отметим, что -10 % 3 равно 2 так как результат операции определен как разница между первым числом и округленным вниз частным, умноженным на второе число. Другими словами, $a % $b эквивалентно $a - $b * floor($a / $b).

Делимость

Raku добавляет полезный оператор, чтобы проверить, если число делится на другое число.

%% | Делимость

Это инфиксный оператор, которому требуется два операнда: 10 %% 3. Если первый операнд кратен второму операнду, то результат будет булевым значением True. Иначе — False.

Целочисленные операции

Есть несколько специальных операций, которые возвращают целые числа. Их операторы являются словами, а не символами.

div | Целочисленное деление mod | Целочисленный остаток от деления

Оператор div округляет результат к низу, поэтому 10 div 3 равно 3 и -10 div 3 равно -4.

Степень

Есть два варианта возведения x в степень y. В первом варианте используется оператор **:

say 3 ** 4; # 81

Во втором используется верхний индекс, например:

say 3⁴; # 81

В верхний регистр возможно поместить больше одной цифры, чтобы получить степень больше девяти. Например:

say 2¹⁵; # 32768

Также не составляет проблем и отрицательная степень:

say 2 ** (-2); ## 0.25
say 2⁻²; # 0.25

Отметим, что результат последний двух выражений является числом типа Rat.

Операции с присвоением

Все операции поддерживают сокращенный синтаксис для обновления переменной. Давайте продемонстрируем это на примере +.

Полная форма

$a = $a + $b;

эквивалентна

$a += $b;

Навигация по курсу

Числа с плавающей точкой   |   Распределение яблок


💪 Или перейдите сразу к упражнениям этого раздела.