Operátory vo výrazoch
Nasledujúce tabuľky ukazujú typy operandov a výsledkov aritmetických a logických operácií.
Pri vyhodnocovaní akýchkoľvek výrazov platí, že ak je nejaký operand, ktorý sa zúčastňuje na výpočte neplatný, výsledok je tiež neplatný. Výnimkou je počítaný bod, ak má nastavenú vlastnosť "Neplatné hodnoty vo výraze nahraď hodnotou 0". Potom sa vyhodnocuje tak, ako je uvedené tu.
Pozri tiež kapitolu Zoradenie operátorov podľa priority
Aritmetické operátory
Operátor | Operácia | Popis | Typy operandov | Typ výsledku | |||
---|---|---|---|---|---|---|---|
+ | sčítanie | Rozdiel dvoch absolútnych časov je počítaný nasledovne: ATime - BTime = %SubTimeLocal(ATime, BTime) Ostatné kombinácie absolútnych a relatívnych časov pri operátoroch + a - sú počítané nasledovne: ATime + RTime = %AddTimeLocal(ATime, RTime) alebo ATime - RTime = %AddTimeLocal(ATime, -RTime) |
integer real boolean časový interval |
integer real boolean časový interval |
|||
|
absolútny čas | ||||||
- | odčítanie | Rozdiel dvoch absolútnych časov je počítaný nasledovne: ATime - BTime = %SubTimeLocal(ATime, BTime) Ostatné kombinácie absolútnych a relatívnych časov pri operátoroch + a - sú počítané nasledovne: ATime + RTime = %AddTimeLocal(ATime, RTime) alebo ATime - RTime = %AddTimeLocal(ATime, -RTime) |
integer real boolean časový interval |
integer real boolean časový interval |
|||
|
absolútny čas | ||||||
* | násobenie | integer real boolean |
integer real integer |
||||
/ | delenie | integer real boolean |
real real integer |
||||
- | unárny operátor | integer real |
integer real |
Operandy typu Boolean sa pri aritmetických operáciách konvertujú na celočíselný typ nasledovne:
- TRUE -> 1
- FALSE-> 0
Poznámka
- Výsledok funkcie typu Boolean je možné skonvertovať na iný typ vynásobením konštantou príslušného typu. Príklad: %Flag(Objekt,@A)*1 dáva číselný typ výslednej hodnoty tj. Integer, Real.
Logické operátory
operátor | operácia | typy operandov | typ výsledku |
---|---|---|---|
& | logický súčin | boolean integer |
boolean integer |
| | logický súčet | boolean | boolean |
! | negácia | boolean | boolean |
Logický súčin dvoch operandov typu Integer predstavuje dekadický tvar logického súčinu vykonanom medzi jednotlivými korešpondujúcimi bitmi binárnych tvarov oboch operandov.
Príklad
179 & 217 = 145
1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 179 | |
1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 217 | |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 145 |
Relačné operátory
operátor | operácia | typy operandov | typ výsledku |
---|---|---|---|
= | rovný | integer real absolútny čas časový interval |
boolean |
# | nerovný | integer real absolútny čas časový interval |
boolean |
> | väčšie ako | integer real absolútny čas časový interval |
boolean |
< | menšie ako | integer real absolútny čas časový interval |
boolean |
>= | väčšie alebo rovné | integer real absolútny čas časový interval |
boolean |
<= | menšie alebo rovné | integer real absolútny čas časový interval |
boolean |
Pridať komentár