Extra-calc v3.0
(сборка 3.0.1.2)

Логические операции

Логические операции нужны для вычисления условий сравнения и объединения результатов сравнения.

Для написания условия используются операции сравнения

<меньше
>больше
=равно
>=больше или равно
<=меньше или равно
<>не равно

Также возможно использование логических операций:

and, &&логическое «И»
or, ||логическое «ИЛИ»
xorлогическое «Исключающее ИЛИ»
not, ~отрицание

Битовые операторы

shl, <<сдвиг битов влево
shr, >>сдвиг битов вправо
&битовое И
|битовое ИЛИ

Особо следует уделить внимание функции iff(expr, v1, v2). Функция проверяет условие expr, и если оно истинно, то результатом функции будет значение v1, иначе v2. При этом вычисление производится только для возвращаемого выражения.

Пример использования функции:

c := iff ((a>0) and (a<=b),b,b*2)

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

Наравне с функцией iff был введен аналогичный оператор «?:». предыдущий пример для оператора будет выглядеть следующим образом:

c := (a>0) and (a<=b)?b:b*2

Оператор «?» имеет очень низкий приоритет выполнения, поэтому при составлении больших выражений включающих оператор, следует это помнить и заключать все выражение оператора в скобки.

c := 18 * ((a>0) and (a<=b)?b:b*2)