Menu
CoddyTech

כשערך 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 כשהמספרים נשארים קטנים.

challenge icon

אתגר

בינוני

קוד ההתחלה מוסיף 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);
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה המעגלים הראשונים

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