Arduino - Operatori
Un operatore è un simbolo che dice al compilatore di eseguire specifiche funzioni matematiche o logiche. Il linguaggio C è ricco di operatori incorporati e fornisce i seguenti tipi di operatori:
- Operatori aritmetici
- Operatori di confronto
- Operatori booleani
- Operatori bit per bit
- Operatori composti
Operatori aritmetici
Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -
| Nome dell'operatore | Operatore semplice | Descrizione | Esempio |
|---|---|---|---|
| operatore di assegnazione | = | Memorizza il valore a destra del segno di uguale nella variabile a sinistra del segno di uguale. | A = B |
| aggiunta | + | Aggiunge due operandi | A + B darà 30 |
| sottrazione | - | Sottrae il secondo operando dal primo | A - B darà -10 |
| moltiplicazione | * | Moltiplica entrambi gli operandi | A * B darà 200 |
| divisione | / | Dividi il numeratore per denominatore | B / A darà 2 |
| modulo | % | Operatore modulo e resto di dopo una divisione intera | B% A darà 0 |
Operatori di confronto
Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -
| Nome dell'operatore | Operatore semplice | Descrizione | Esempio |
|---|---|---|---|
| uguale a | == | Controlla se il valore di due operandi è uguale o meno, in caso affermativo la condizione diventa vera. | (A == B) non è vero |
| non uguale a | ! = | Controlla se il valore di due operandi è uguale o meno, se i valori non sono uguali la condizione diventa vera. | (A! = B) è vero |
| meno di | < | Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera. | (A <B) è vero |
| più grande di | > | Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera. | (A> B) non è vero |
| minore o uguale a | <= | Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. | (A <= B) è vero |
| maggiore o uguale a | > = | Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. | (A> = B) non è vero |
Operatori booleani
Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -
| Nome dell'operatore | Operatore semplice | Descrizione | Esempio |
|---|---|---|---|
| e | && | Chiamato operatore AND logico. Se entrambi gli operandi sono diversi da zero, la condizione diventa vera. | (A && B) è vero |
| o | || | Chiamato Operatore OR logico. Se uno dei due operandi è diverso da zero, la condizione diventa vera. | (A || B) è vero |
| non | ! | Chiamato operatore NOT logico. Utilizzare per invertire lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa. | ! (A && B) è falso |
Operatori bit per bit
Supponiamo che la variabile A contenga 60 e la variabile B contenga 13, quindi -
| Nome dell'operatore | Operatore semplice | Descrizione | Esempio |
|---|---|---|---|
| e | & | L'operatore AND binario copia un po 'nel risultato se esiste in entrambi gli operandi. | (A e B) darà 12 che è 0000 1100 |
| o | | | L'operatore OR binario copia un bit se esiste in uno degli operandi | (A | B) darà 61 che è 0011 1101 |
| xor | ^ | L'operatore XOR binario copia il bit se è impostato in un operando ma non in entrambi. | (A ^ B) darà 49 che è 0011 0001 |
| non | ~ | Binary Ones Complement Operator è unario e ha l'effetto di "ribaltare" i bit. | (~ A) darà -60 che è 1100 0011 |
| sposta a sinistra | << | Operatore binario di spostamento sinistro. Il valore dell'operando sinistro viene spostato a sinistra del numero di bit specificato dall'operando destro. | Un << 2 darà 240 che è 1111 0000 |
| sposta a destra | >> | Operatore binario di spostamento a destra. Il valore dell'operando sinistro viene spostato a destra del numero di bit specificato dall'operando destro. | Un >> 2 darà 15 che è 0000 1111 |
Operatori composti
Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -
| Nome dell'operatore | Operatore semplice | Descrizione | Esempio |
|---|---|---|---|
| incremento | ++ | Operatore di incremento, aumenta il valore intero di uno | A ++ darà 11 |
| decremento | - | Operatore di decremento, riduce il valore intero di uno | A-- darà 9 |
| aggiunta di composto | + = | Aggiungi operatore di assegnazione AND. Aggiunge l'operando destro all'operando sinistro e assegna il risultato all'operando sinistro | B + = A è equivalente a B = B + A |
| sottrazione composta | - = | Sottrai AND operatore di assegnazione. Sottrae l'operando destro dall'operando sinistro e assegna il risultato all'operando sinistro | B - = A è equivalente a B = B - A |
| moltiplicazione composta | * = | Moltiplica AND operatore di assegnazione. Moltiplica l'operando destro con l'operando sinistro e assegna il risultato all'operando sinistro | B * = A è equivalente a B = B * A |
| divisione composta | / = | Divide AND operatore di assegnazione. Divide l'operando sinistro con l'operando destro e assegna il risultato all'operando sinistro | B / = A è equivalente a B = B / A |
| composto modulo | % = | Modulo AND operatore di assegnazione. Richiede il modulo utilizzando due operandi e assegna il risultato all'operando sinistro | B% = A è equivalente a B = B% A |
| composto bit per bit o | | = | OR bit per bit inclusivo e operatore di assegnazione | A | = 2 è uguale a A = A | 2 |
| composto bit per bit e | & = | Operatore di assegnazione AND bit per bit | A & = 2 è uguale a A = A & 2 |
