V makrojazyku je možné používat tyto základní operátory :
&, +, -, *, /, ), (, /, /=, //, Div, Mod, LAnd, LOr, LXOr, XOr, And, Or.
Jejich význam je následující:
(V závorce vpravo je uveden příklad použití.) & - sumační operátor ( M(5) & M(100) ) ----------------------------------------------------- * - součin ( 5 * 2 (10) ) / - podíl ( 5 / 2 (2.5) ) div - celočíselné dělení ( 8 div 2 (4) ) mod - zbytek po div ( 9 div 2 (1) ) land - logický and ( 255 land 8 (8) ) lor - logický or ( 8 lor 2 (10) ) lxor - logický xor ( 4 lxor 4 (0) ) ----------------------------------------------------- + - součet ( 5 + 6 (11) ) - - rozdíl ( 5 - 6 (-1) ) ----------------------------------------------------- and - booleovský and ( 1 and 2 - 1 (1) ) or - booleovský or ( 0 = 1 or 3 = 3 (1) ) PRIORITA OPERÁTORU
Priorita je vlastnost operátoru. Podle priorit se při běhu makra rozhoduje o tom, která část výrazu má být dříve vyčíslena.
¸-----------------------------------------ç | OPERÁTORY PRIORITA | ------------------------------------------- | & nejvyšší | ------------------------------------------- | *,/,div,mod,land,lor,lxor druhá | ------------------------------------------- | +,- třetí | ------------------------------------------- | and,or čtvrtá | ------------------------------------------- | =,//,/,/,/=,/= nejnižší | -------------------------------------------
Např.: 5 * 3 + 4 = (5 * 3) + 4 = 19
< /P >
Z tohoto příkladu by mělo být zřejmé, že sčítání má nižší prioritu než násobení. Upřednostnění násobení však může být závorkami potlačeno : 5 * (3 + 4) = 35 Jak pracuje sumační operátor & ?< PRE> Příklad 2) dim Arr (2, 20) : Byte [Integer [LongInt [Real]]] ---------- X := Arr[1,5] & Arr[2,5]; | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|18|19|20| --|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--- 1| | | | |€€|€€|€€|€€|€€|€€|€€|€€|€€|€€|€€|€€|€€|€€|€€|€€| --|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--- 2|€€|€€|€€|€€|€€| | | | | | | | | | | | | | | |
Příklad 1) dim Arr (20) : Byte [Integer [LongInt [Real]]] ---------- X := Arr[5] & Arr[10]; | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|18|19|20| ---|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--- | | | | |€€|€€|€€|€€|€€|€€| | | | | | | | | | |