Modulo Operator
Part of the Fundamentals section of Coddy's Rust journey — lesson 16 of 75.
The modulo operator % gives the remainder of a division. In Rust, it's used with a simple syntax:
let result = dividend % divisor;- dividend: The number being divided.
- divisor: The number that divides the dividend.
- result: The remainder of the division.
For example:
let result = 10 % 3;Here, 10 is divided by 3. 3 goes into 10 three times, with a remainder of 1. So, result will be 1.
Usually modulo is used for checking if a number is even or odd:
- If a number is even, dividing it by 2 will leave a remainder of 0.
- If a number is odd, dividing it by 2 will leave a remainder of 1.
When using modulo with floating-point numbers (f64), it works similarly to integers but keeps the decimal precision. For example:
let result: f64 = 5.2 % 2.0;
// result is 1.2Here's how it works: 2.0 goes into 5.2 two times (4.0), and the remainder is 1.2 (5.2 - 4.0 = 1.2).
Another example:
let result: f64 = 7.8 % 3.5;
// result is 0.8Challenge
BeginnerWrite a code that initializes three variables, a (i32), b (f64) and c (i32) with the values 9, 2.6, and 11 (respectively).
After that, initialize the following variables:
d (i32)that will hold the result ofamodulo2e (i32)that will hold the result ofamodulo3f (f64)that will hold the result ofbmodulo1.5g (f64)that will hold the result ofbmodulo3.9h (i32)that will hold the result ofcmodulo10
Check out the result and see how different dividends and divisors affect the result.
Cheat sheet
The modulo operator % gives the remainder of a division:
let result = dividend % divisor;Example with integers:
let result = 10 % 3; // result is 1Common use case - checking if a number is even or odd:
- Even numbers:
number % 2 == 0 - Odd numbers:
number % 2 == 1
Modulo with floating-point numbers:
let result: f64 = 5.2 % 2.0; // result is 1.2
let result: f64 = 7.8 % 3.5; // result is 0.8Try it yourself
fn main() {
// Type your code below
// Don't change the line below
println!("a = {}", a);
println!("b = {}", b);
println!("c = {}", c);
println!("d = {}", d);
println!("e = {}", e);
println!("f = {}", f);
println!("g = {}", g);
println!("h = {}", h);
}This lesson includes a short quiz. Start the lesson to answer it and track your progress.
All lessons in Fundamentals
4Operators Part 1
Arithmetic OperatorsModulo OperatorArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 33Variables Part 2
Type DeclarationNaming ConventionsType InferenceRecap - Initialize VariablesType Casting9Loops
For Over SeriesWhile LoopBreakContinueNested LoopLoop LabelsInfinite LoopRecap - Dynamic Input