אופרטור מודולו
חלק מהיחידה יסודות במסלול ה-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)אתגר
מתחיליםכתבו קוד שמאתחל שלושה משתנים, a (i32), b (f64) ו-c (i32) בערכים 9, 2.6 ו-11 (בהתאמה).
לאחר מכן, אתחלו את המשתנים הבאים:
d (i32)שיחזיק את התוצאה שלaמודולו2e (i32)שיחזיק את התוצאה שלaמודולו3f (f64)שיחזיק את התוצאה שלbמודולו1.5g (f64)שיחזיק את התוצאה שלbמודולו3.9h (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);
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר Rust אונליין