Precedence
Z Wikipedie, otevřené encyklopedie
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. Prorita, 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.
Obsah |
[editovat] Obvyklé pořadí operací
Obvyklé pořadí, ve kterém se vykonávají operace ve složitějším výrazu je v následující tabulce
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í z prava do leva. Pak se provádí násobení a dělení, opět z prava do leva, nakonec pak sčítání a odečítání, ktaké z prava do leva.
Pokud jsou ve výrazu závorky. Provádí se vyhodnocování výrazu od obsahu nejvnitřejní závorky a směrem ven.
[editovat] Matematická precedence
Většina programovacích jazyků vyhodnocuje pořadí operací podle následující tabulky:
| 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
![(4+10/2)/9=(4+[10/2])/9=[4+5]/9=1 \,](../../../math/4/0/a/40ad1923921c7be86df262322a627272.png)
![2^{3^2}=2^{[3^2]}=[2^9]=512 \,](../../../math/f/8/b/f8bc9414eebed1762d9d72c4803eebb5.png)
![8/2\times3=[8/2]\times3=[4\times3]=12 \,](../../../math/6/b/c/6bcab86bb5fcdaaaa3e2d863301523c4.png)
![7-2-4+1=[7-2]-4+1=[5-4]+1=[1+1]=2 \,](../../../math/c/d/f/cdf60e1c648330ad8309e0dd1b20000f.png)








