Menu
CoddyTech

אופרטור מודולו

חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 16 מתוך 75.

אופרטור המודולו % מחזיר את השארית של חילוק. ב-Rust משתמשים בו בתחביר פשוט:

let result = dividend % divisor;
  • dividend: המספר שמחלקים.
  • divisor: המספר שמחלק את המחולק.
  • result: השארית בחלוקה.

לדוגמה:

let result = 10 % 3;

כאן, 10 מתחלק ב־3. 3 נכנס ב־10 שלוש פעמים, והשארית היא 1. לכן, result יהיה 1.

אם המחולק קטן מהמחלק, המחלק נכנס אפס פעמים, ולכן השארית היא המחולק עצמו: 2 % 9 הוא 2.

בדרך כלל משתמשים בחילוק מודולרי כדי לבדוק אם מספר הוא זוגי או אי־זוגי:

  • אם מספר הוא זוגי, חלוקתו ב־2 תשאיר שארית 0.
  • אם מספר הוא אי־זוגי, חלוקתו ב־2 תשאיר שארית 1, או ‎-1 אם המספר שלילי.

כשמשתמשים במודולו עם מספרים בנקודה צפה (f64), הפעולה פועלת בדומה לפעולה עם מספרים שלמים, ולשארית יכול להיות חלק עשרוני. לדוגמה:

let result: f64 = 5.2 % 2.0;
// הערך של result הוא בערך 1.2

כך זה עובד: 2.0 נכנס ב־5.2 פעמיים (4.0), והשארית היא 1.2 (5.2 - 4.0 = 1.2). f64 לא יכול לאחסן את 5.2 בדיוק, לכן הדפסת result מציגה 1.2000000000000002.

דוגמה נוספת:

let result: f64 = 7.8 % 3.5;
// result הוא בערך 0.8 (מדפיס 0.7999999999999998)
challenge icon

אתגר

מתחילים

כתבו קוד שמאתחל שלושה משתנים, a (i32), b (f64) ו-c (i32) בערכים 9, 2.6 ו-11 (בהתאמה).

לאחר מכן, אתחלו את המשתנים הבאים:

  • d (i32) שיחזיק את התוצאה של a מודולו 2 
  • e (i32) שיחזיק את התוצאה של a מודולו 3
  • f (f64) שיחזיק את התוצאה של b מודולו 1.5
  • g (f64) שיחזיק את התוצאה של b מודולו 3.9
  • h (i32) שיחזיק את התוצאה של c מודולו 10

בדקו את התוצאה וראו כיצד מחולקים ומחלקים שונים משפיעים על התוצאה.

נסו בעצמכם

fn main() {
    // כתבו את הקוד שלכם למטה
    
    
    // אל תשנו את השורה למטה
    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 iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Rust אונליין