Precedence
V aritmetice a algebře jsou používána různá pravidla, která určují pořadí, v jakém se vyhodnocují operace ve výrazu. Priorita, s jakou se vyhodnocuje daná operace, se nazývá precedence.
Precedence každé operace je otázkou vzájemné domluvy - konvence. Nelze ji nijak matematicky odvodit.
Precedenční pravidla používají při vyhodnocování výrazů různé programovací jazyky a moderní elektronické kalkulátory.
Obvyklé pořadí operací
Obvyklé pořadí, ve kterém se vykonávají operace ve složitějším výrazu, je:
Pokud ve výrazu nejsou žádné závorky, provádí se nejprve umocňování a odmocňování. Vícenásobné exponenty se vyhodnocují zprava doleva. Pak se provádí násobení a dělení, zleva doprava, nakonec pak sčítání a odečítání, také zleva doprava.
Pokud jsou ve výrazu závorky, provádí se vyhodnocování výrazu od obsahu nejvnitřejší závorky a směrem ven.
Matematická precedence
Většina programovacích jazyků vyhodnocuje pořadí operací podle následující tabulky:
priorita | operátor | popis operace |
---|---|---|
1 | () [] -> . :: ++ -- | grupování a unární operace |
2 | ! ~ ++ – - + * & | logická negace a unární operace |
3 | * / % | násobení, dělení, modulo |
4 | + - | sčítání a odčítání |
5 | << >> | bitové posuny |
6 | < <= > >= | porovnání: větší než, menší než … |
7 | == != | porovnání: rovnost a nerovnost |
8 | & | bitové AND |
9 | ^ | bitové XOR |
10 | | | bitové OR |
11 | && | logické A |
12 | || | logické NEBO |
13 | = += -= *= /= %= &= ^= <<= >>= | přiřazovací operátory |
Příklady:
- !A + !B → (!A) + (!B)
- ++A + !B → (++A) + (!B)
- A * B + C → (A * B) + C
- A AND B OR C → (A AND B) OR C