Ad esempio, nell'espressione "cinque aggiunti a sei moltiplicati per sette", gli operatori sono addizione e moltiplicazione (cinque, sei e sette sono gli operandi). Se l'aggiunta viene eseguita per prima, il risultato è 77, ma se la moltiplicazione viene eseguita per prima, il risultato è 47. L'ordine delle operazioni stabilisce che la risposta corretta è 47 perché la moltiplicazione e la divisione devono sempre essere eseguite prima dell'aggiunta e della sottrazione.
Ordine matematico delle operazioni
- Parentesi, esponenti e radici; poi
- Moltiplicazione e divisione; e poi
- Addizione e sottrazione.
Suggerimento: un modo semplice per ricordare l'ordine delle operazioni è PEMDAS o "Per favore scusate la mia cara zia Sally".
Programmazione del computer
Nella programmazione per computer, la maggior parte delle lingue usa livelli di precedenza uguali a quelli della scienza e della matematica. Alcune lingue, come Smalltalk e Lisp, non hanno alcuna regola di precedenza: il programmatore deve specificare gli operatori nell'ordine corretto.
Nel linguaggio di programmazione C si applicano i seguenti livelli di precedenza degli operatori, elencati qui in ordine di precedenza decrescente:
Livello 1 (massima precedenza) | |
---|---|
operatore: | funzionamento: |
++ | Incremento |
- | diminuzione |
() | Chiamata di funzione |
[] | Array sottoscrittivo |
. | Selezione dell'elemento per riferimento |
-> | Selezione dell'elemento attraverso il puntatore |
Livello 2 | |
* | Moltiplicazione |
/ | Divisione |
% | Modulo |
Livello 3 | |
+ | aggiunta |
- | Sottrazione |
Livello 4 | |
<< | Spostamento bit a bit a sinistra |
>> | Spostamento bit a bit a destra |
Livello 5 | |
< | Meno di |
<= | Meno o uguale |
> | Più grande di |
> = | Maggiore o uguale |
Livello 6 | |
== | Pari |
! = | Non uguale |
Livello 7 | |
& | Bitwise AND |
Livello 8 | |
^ | XOR bit a bit (esclusivo o) |
Livello 9 | |
| | Bitwise OR (incluso o) |
Livello 10 | |
&& | AND logico |
Livello 11 | |
|| | OR logico |
Livello 12 | |
?: | Ternario condizionale |
Livello 13 | |
= | Assegnazione diretta |
+ = | Assegnazione per somma |
- = | Assegnazione per differenza |
* = | Assegnazione per prodotto |
/ = | Assegnazione per quoziente |
% = | Assegnazione per resto |
<< = | Assegnazione per spostamento a sinistra bit a bit |
>> = | Assegnazione per spostamento a destra bit a bit |
& = | Assegnazione per bit AND |
^ = | Assegnazione tramite XOR bit a bit |
| = | Assegnazione per OR bit a bit |
Livello 14 | |
, | virgola |
Operatore, procedura, programmazione, termini di programmazione