Документация
Уроки Открыть IDE
На главную
Урок 4

Арифметика

Предсказуемые операции без скрытых подводных камней

Базовые арифметические операции с целыми числами

В Idyllium сложение, вычитание и умножение целых чисел работают предсказуемо и возвращают целый результат, который можно сразу сохранить в переменную типа int:

Если бы мы захотели вывести эти значения, результат выглядел бы так:

12 -1 18

Все три операции — +, -, * — безопасны для целых чисел: они никогда не создают дробную часть, поэтому их результат всегда совместим с типом int.

Деление — особый случай

В Idyllium оператор / всегда возвращает float, даже если делятся два целых числа:

3.7

Важное правило: если в результате математической операции теоретически может получиться дробное число — результат будет иметь тип float.

Это означает, что даже в случае 10 / 5 (где результат — целое число 2) Idyllium всё равно вернёт 2.0 типа float. Так сделано ради единообразия: программа не пытается угадать, будет ли результат целым — она всегда возвращает дробное число при делении.

Операции между целыми и дробными числами

Если в арифметической операции участвует хотя бы одно дробное число, результат всегда будет float:

12.5 7.5 25 4

Обратите внимание: даже в последнем случае (10 / 2.5 = 4) результат — целое число, но его тип всё равно float (выводится как 4, но хранится как 4.0). Это позволяет избежать неожиданных ошибок при последующих вычислениях.

Целочисленное деление: функция div

Если вам нужно именно целое частное от деления, используйте функцию div(a, b):

Функция div отбрасывает дробную часть результата и возвращает только целую часть частного. Поскольку результат всегда целый, его можно безопасно сохранить в переменную типа int.

Остаток от деления: функция mod

Чтобы получить остаток от деления, используйте функцию mod(a, b):

Функция mod возвращает то, что «осталось» после деления. Это особенно полезно для задач вроде определения чётности (mod(x, 2) == 0) или циклических вычислений.

Обе функции — div и mod — работают только с целыми числами и возвращают int, что делает их идеальными для задач, где дробные результаты не нужны.