Курс по Raku / Основи / Числа
Операции с числа
Няма съмнение, че вече знаете някои от операциите, които можете да извършвате с числа в Raku. Само да споменем, че символът на операцията се нарича оператор. Обектите, върху които извършваме операции, се наричат операнди.
Арифметика
Оператор | Операция |
+ |
Събиране |
- |
Изваждане |
* |
Умножение |
/ |
Деление |
Тъй като Raku поддържа Unicode много добре, някои от тези оператори имат не-ASCII еквиваленти:
× |
Умножение |
÷ |
Деление |
За да промените реда на изпълнение, използвайте скоби:
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
.
И двата оператора div
и mod
очакват целочислени операнди. Така че, следната програма няма да работи, ако разкоментирате редовете, маркирани като Error
:
say 10.3 % 3; # OK
# say 10.3 mod 3; # Error
say 10.3 / 3.3; # OK
# say 10.3 div 3.3; # Error
Степенуване
Има два начина за получаване на резултата от x на степен y. Първо, можете да използвате оператора **
:
say 3 ** 4; # 81
Второ, можете да използвате надписани цифри, например:
say 3⁴; # 81
Възможно е да поставите повече от една надписана цифра, за да получите стойност на степен по-голяма от 9. Например:
say 2¹⁵; # 32768
Отрицателната степен също не е проблем:
say 2 ** (-2); ## 0.25
say 2⁻²; # 0.25
Забележете, че резултатът от последните две изрази е число от тип Rat
.
Операции с присвояване
Всички операции поддържат съкратен синтаксис, когато трябва да актуализирате променливата. Нека го демонстрираме с примера на +
.
Пълната форма
$a = $a + $b;
е еквивалентна на:
$a += $b;
Навигация по курса
← Числа / Числа с плаваща запетая | 💪 Упражнения: Числа →
Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски
Преводи на тази страница: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська