Menu
CoddyTech

Operatore modulo

Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 16 di 75.

L'operatore modulo % restituisce il resto di una divisione. In Rust si usa con una sintassi semplice:

let result = dividend % divisor;
  • dividendo: Il numero da dividere.
  • divisore: Il numero che divide il dividendo.
  • risultato: Il resto della divisione.

Per esempio:

let result = 10 % 3;

Qui, 10 viene diviso per 3. 3 entra in 10 tre volte, con un resto di 1. Quindi, result sarà 1.

Se il dividendo è minore del divisore, il divisore entra zero volte, quindi il resto è il dividendo stesso: 2 % 9 è 2.

Di solito il modulo viene usato per verificare se un numero è pari o dispari:

  • Se un numero è pari, dividendolo per 2 il resto sarà 0.
  • Se un numero è dispari, dividendolo per 2 il resto sarà 1, oppure -1 se il numero è negativo.

Quando si usa il modulo con numeri in virgola mobile (f64), funziona in modo simile agli interi e il resto può avere una parte decimale. Per esempio:

let result: f64 = 5.2 % 2.0;
// result è circa 1.2

Ecco come funziona: 2.0 sta due volte in 5.2 (4.0) e il resto è 1.2 (5.2 - 4.0 = 1.2). Un f64 non può memorizzare esattamente 5.2, quindi stampando result viene mostrato 1.2000000000000002.

Un altro esempio:

let result: f64 = 7.8 % 3.5;
// result è circa 0.8 (stampa 0.7999999999999998)
challenge icon

Sfida

Principiante

Scrivi un codice che inizializzi tre variabili, a (i32), b (f64) e c (i32) con i valori 9, 2.6 e 11 (rispettivamente).

Successivamente, inizializza le seguenti variabili:

  • d (i32) che conterrà il risultato di a modulo 2 
  • e (i32) che conterrà il risultato di a modulo 3
  • f (f64) che conterrà il risultato di b modulo 1.5
  • g (f64) che conterrà il risultato di b modulo 3.9
  • h (i32) che conterrà il risultato di c modulo 10

Osserva il risultato e nota come divisori e dividendi diversi influiscono sul risultato.

Provalo tu

fn main() {
    // Scrivi il tuo codice qui sotto
    
    
    // Non modificare la riga qui sotto
    println!("a = {}", a);
    println!("b = {}", b);
    println!("c = {}", c);
    println!("d = {}", d);
    println!("e = {}", e);
    println!("f = {}", f);
    println!("g = {}", g);
    println!("h = {}", h);
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Rust online