Rust - Operatori
Un operatore definisce alcune funzioni che verranno eseguite sui dati. I dati su cui lavorano gli operatori sono chiamati operandi. Considera la seguente espressione:
7 + 5 = 12
Qui, i valori 7, 5 e 12 sono operandi, mentre + e = sono operatori.
I principali operatori di Rust possono essere classificati come:
- Arithmetic
- Bitwise
- Comparison
- Logical
- Bitwise
- Conditional
Operatori aritmetici
Supponiamo che i valori nelle variabili aeb siano rispettivamente 10 e 5.
Suor n | Operatore | Descrizione | Esempio |
---|---|---|---|
1 | + (Aggiunta) | restituisce la somma degli operandi | a + b è 15 |
2 | -(Sottrazione) | restituisce la differenza dei valori | ab è 5 |
3 | * (Moltiplicazione) | restituisce il prodotto dei valori | a * b è 50 |
4 | / (Divisione) | esegue l'operazione di divisione e restituisce il quoziente | a / b è 2 |
5 | % (Modulo) | esegue l'operazione di divisione e restituisce il resto | a% b è 0 |
NOTE - Gli operatori ++ e - non sono supportati in Rust.
Operatori relazionali
Gli operatori relazionali testano o definiscono il tipo di relazione tra due entità. Gli operatori relazionali vengono utilizzati per confrontare due o più valori. Gli operatori relazionali restituiscono un valore booleano, vero o falso.
Supponiamo che il valore di A sia 10 e B sia 20.
Suor n | Operatore | Descrizione | Esempio |
---|---|---|---|
1 | > | Più grande di | (A> B) è False |
2 | < | Minore di | (A <B) è vero |
3 | > = | Maggiore o uguale a | (A> = B) è False |
4 | <= | Minore o uguale a | (A <= B) è vero |
5 | == | Uguaglianza | (A == B) è falso |
6 | ! = | Non uguale | (A! = B) è vero |
Operatori logici
Gli operatori logici vengono utilizzati per combinare due o più condizioni. Anche gli operatori logici restituiscono un valore booleano. Supponiamo che il valore della variabile A sia 10 e B sia 20.
Suor n | Operatore | Descrizione | Esempio |
---|---|---|---|
1 | && (E) | L'operatore restituisce true solo se tutte le espressioni specificate restituiscono true | (A> 10 && B> 10) è False |
2 | || (OR) | L'operatore restituisce true se almeno una delle espressioni specificate restituisce true | (A> 10 || B> 10) è vero |
3 | ! (NON) | L'operatore restituisce l'inverso del risultato dell'espressione. Ad esempio:! (> 5) restituisce false | ! (A> 10) è vero |
Operatori bit per bit
Assumi la variabile A = 2 e B = 3.
Suor n | Operatore | Descrizione | Esempio |
---|---|---|---|
1 | & (AND bit per bit) | Esegue un'operazione booleana AND su ogni bit dei suoi argomenti interi. | (A e B) è 2 |
2 | | (BitWise OR) | Esegue un'operazione booleana OR su ogni bit dei suoi argomenti interi. | (A | B) è 3 |
3 | ^ (XOR bit per bit) | Esegue un'operazione booleana OR esclusivo su ogni bit dei suoi argomenti interi. OR esclusivo significa che uno degli operandi uno è vero o l'operando due è vero, ma non entrambi. | (A ^ B) è 1 |
4 | ! (Bitwise non) | È un operatore unario e opera invertendo tutti i bit nell'operando. | (! B) è -4 |
5 | << (Maiusc sinistro) | Sposta tutti i bit nel suo primo operando a sinistra del numero di posizioni specificato nel secondo operando. I nuovi bit vengono riempiti con zeri. Spostare un valore a sinistra di una posizione equivale a moltiplicarlo per 2, spostare due posizioni equivale a moltiplicarlo per 4 e così via. | (A << 1) è 4 |
6 | >> (Maiusc destro) | Operatore binario di spostamento a destra. Il valore dell'operando sinistro viene spostato a destra del numero di bit specificato dall'operando destro. | (A >> 1) è 1 |
7 | >>> (Spostamento a destra con zero) | Questo operatore è proprio come l'operatore >>, tranne per il fatto che i bit spostati a sinistra sono sempre zero. | (A >>> 1) è 1 |