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
Operand 1 Operand 2
absolútny čas integer
real
relatívny čas
integer
real
relatívny čas
absolútny čas
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
Operand 1 Operand 2
absolútny čas integer
real
relatívny čas
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
Napíšte komentár