Menu
CoddyTech

Modulo-Operator

Teil des Abschnitts Grundlagen der Rust-Journey von Coddy. Lektion 16 von 75.

Der Modulo-Operator % gibt den Rest einer Division zurück. In Rust wird er mit einer einfachen Syntax verwendet:

let result = dividend % divisor;
  • Dividend: Die Zahl, die geteilt wird.
  • Divisor: Die Zahl, durch die der Dividend geteilt wird.
  • Rest: Der Rest der Division.

Zum Beispiel:

let result = 10 % 3;

Hier wird 10 durch 3 geteilt. 3 passt dreimal in 10, mit einem Rest von 1. Daher ist result gleich 1.

Wenn der Dividend kleiner als der Divisor ist, passt der Divisor nullmal hinein, sodass der Rest dem Dividenden selbst entspricht: 2 % 9 ist 2.

Der Modulo-Operator wird häufig verwendet, um zu prüfen, ob eine Zahl gerade oder ungerade ist:

  • Ist eine Zahl gerade, bleibt beim Teilen durch 2 ein Rest von 0.
  • Ist eine Zahl ungerade, bleibt beim Teilen durch 2 ein Rest von 1 oder -1, wenn die Zahl negativ ist.

Bei der Verwendung des Modulo-Operators mit Gleitkommazahlen (f64) funktioniert er ähnlich wie bei Ganzzahlen, und der Rest kann einen Dezimalanteil haben. Zum Beispiel:

let result: f64 = 5.2 % 2.0;
// result ist ungefähr 1.2

So funktioniert es: 2.0 passt zweimal in 5.2 (4.0), und der Rest ist 1.2 (5.2 - 4.0 = 1.2). Ein f64 kann 5.2 nicht exakt speichern, daher zeigt die Ausgabe von result 1.2000000000000002.

Ein weiteres Beispiel:

let result: f64 = 7.8 % 3.5;
// result ist ungefähr 0.8 (gibt 0.7999999999999998 aus)
challenge icon

Aufgabe

Anfänger

Schreibe Code, der drei Variablen, a (i32), b (f64) und c (i32), mit den Werten 9, 2.6 und 11 (in dieser Reihenfolge) initialisiert.

Initialisiere anschließend die folgenden Variablen:

  • d (i32), das das Ergebnis von a modulo 2 enthält 
  • e (i32), das das Ergebnis von a modulo 3 enthält
  • f (f64), das das Ergebnis von b modulo 1.5 enthält
  • g (f64), das das Ergebnis von b modulo 3.9 enthält
  • h (i32), das das Ergebnis von c modulo 10 enthält

Sieh dir das Ergebnis an und beobachte, wie unterschiedliche Dividenden und Divisoren das Ergebnis beeinflussen.

Probier es selbst

fn main() {
    // Gib deinen Code unten ein
    
    
    // Ändere die Zeile darunter nicht
    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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Rust-Compiler