Menu
CoddyTech

Opérateur modulo

Fait partie de la section Fondamentaux du Journey Rust de Coddy. Leçon 16 sur 75.

L’opérateur modulo % donne le reste d’une division. En Rust, il s’utilise avec une syntaxe simple :

let result = dividend % divisor;
  • dividende : Le nombre qui est divisé.
  • diviseur : Le nombre qui divise le dividende.
  • reste : Le reste de la division.

Par exemple :

let result = 10 % 3;

Ici, 10 est divisé par 3. 3 entre trois fois dans 10, avec un reste de 1. Donc, result sera égal à 1.

Si le dividende est plus petit que le diviseur, le diviseur entre zéro fois, donc le reste est le dividende lui-même : 2 % 9 vaut 2.

En général, le modulo sert à vérifier si un nombre est pair ou impair :

  • Si un nombre est pair, le diviser par 2 donne un reste de 0.
  • Si un nombre est impair, le diviser par 2 donne un reste de 1, ou de -1 si le nombre est négatif.

Lorsqu’on utilise le modulo avec des nombres à virgule flottante (f64), il fonctionne de manière similaire aux entiers, et le reste peut comporter une partie décimale. Par exemple :

let result: f64 = 5.2 % 2.0;
// result vaut environ 1.2

Voici comment cela fonctionne : 2.0 entre deux fois dans 5.2 (4.0), et le reste est 1.2 (5.2 - 4.0 = 1.2). Un f64 ne peut pas stocker 5.2 exactement, donc l’affichage de result montre 1.2000000000000002.

Un autre exemple :

let result: f64 = 7.8 % 3.5;
// result vaut environ 0.8 (affiche 0.7999999999999998)
challenge icon

Défi

Débutant

Écris un code qui initialise trois variables, a (i32), b (f64) et c (i32) avec les valeurs 9, 2.6 et 11 (respectivement).

Après cela, initialise les variables suivantes :

  • d (i32) qui contiendra le résultat du modulo de a par 2 
  • e (i32) qui contiendra le résultat du modulo de a par 3
  • f (f64) qui contiendra le résultat du modulo de b par 1.5
  • g (f64) qui contiendra le résultat du modulo de b par 3.9
  • h (i32) qui contiendra le résultat du modulo de c par 10

Observe le résultat et vois comment différents dividendes et diviseurs influent sur celui-ci.

Essayez vous-même

fn main() {
    // Saisissez votre code ci-dessous
    
    
    // Ne modifiez pas la ligne ci-dessous
    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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Rust en ligne