Precedence
Šablona:Neověřeno 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.[1]
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.Šablona:Doplňte zdroj Při potřebě více dvojic závorek, které by se mohly navzájem plést, se pak dále používají hranaté závorky [ ] a složené závorky { }.Šablona:Doplňte zdroj
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 | * / % MOD | 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