כשערך Int נגמר
חלק מהיחידה המעגלים הראשונים במסלול ה-Arduino של Coddy. שיעור 12 מתוך 22.
משתנה נשמר במספר קבוע של סיביות, מתגים זעירים של הפעלה/כיבוי בזיכרון של הלוח. ב-Uno, ל-int יש 16 סיביות, ולכן הוא יכול להכיל רק מספרים מ-32,768- עד 32,767.
אם עוברים את הגבול העליון, הוא לא גדל: הוא חוזר לתחתית. 32,767 ועוד 1 הופך ל-32,768-. זה נקרא גלישה, והסקץ' לא מציג אזהרה.
למספרים גדולים יותר, השתמשו בטיפוס עם יותר סיביות:
long big = 100000; // מ־-2,147,483,648 עד 2,147,483,647
unsigned long huge = 3000000000; // מ־0 עד 4,294,967,295ל-long יש 32 סיביות. ל-unsigned long יש 32 סיביות, אבל אין בו מספרים שליליים, ולכן הוא מגיע לגובה כפול: מתאים לספירות ולזמנים.
משתנה מסוג long תופס פי שניים זיכרון ממשתנה מסוג int, וב-Uno יש רק 2048 בתים למשתנים, לכן השתמשו ב-int כשהמספרים נשארים קטנים.
אתגר
בינוניקוד ההתחלה מוסיף 1000 ל-count עשרים פעמים בשנייה. לחצו על Run וצפו בו הופך לשלילי אחרי 32,000.
- שנו את הטיפוס של
countכך שיוכל לספור מעבר ל-100,000
לאחר מכן לחצו על Check.
נסו בעצמכם
int count = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
count = count + 1000;
Serial.println(count);
delay(50);
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה המעגלים הראשונים
2מדברים עם המחשב שלך
שלום, Serial MonitorPrint לעומת Printlnהדפסת מספריםהמשתנה הראשון שלךסופרים כלפי מעלהכשערך Int נגמרתרגלו בעצמכם: Arduino אונליין