facebook pixel מדריך: פירוט שפת תכנות - הגדרת קבועים שלמים (integer) - www.4project.co.il
Main logo www.4project.co.il
כל הרכיבים לפרוייקט שלכם
עגלת קניות

העגלה ריקה

פירוט שפת תכנות - הגדרת קבועים שלמים (integer)


2022-06-14 11:05:49
קבועים שלמים הם מספרים שמשתמשים בהם ישירות בתוכנית (sketch), כמו 123 למשל. כברירת מחדל מתייחסים למספרים אלה כמספרים מסוג int, אבל תוכלו לשנות את ע"י הוספת אות L או U בסוף המספר, ראו הסבר בהמשך.
בדרך כלל מספרים שלמים מטופלים כמספרים עשרוניים (decimal), מספרים בבסיס 10, אבל אפשר להשתמש בסימון מיוחד כדי להזין את המספרים בבסיס אחר.
קוד: בחר הכל
Base               Example    Formatter        Comment

10 (decimal)           123    none

2 (binary)        B1111011    leading 'B'      only works with 8 bit values (0 to 255)
                                               characters 0-1 valid

8 (octal)             0173    leading "0"      characters 0-7 valid      

16 (hexadecimal)      0x7B    leading "0x"     characters 0-9, A-F, a-f valid   


מספרים עשרוניים (decimal) הם מספרים בבסיס 10. זו היא מתמטיקה ההגיונית שכולנו למדנו בבית הספר. מספרים הרשומים ללא קידומות מיוחדות מטופלים כמספרים בצורה עשרונית. דוגמה:
קוד: בחר הכל
101     // same as 101 decimal   ((1 * 10^2) + (0 * 10^1) + 1)


מספרים בינאריים (binary) הם מספרים בבסיס 2. רק ספרות 0 ו-1 תקינות במספרים אלה. כדי להזין מספרים בצורה בינארית, תוסיפו קידומת "B" לפני המספר. דוגמה:
קוד: בחר הכל
B101    // same as 5 decimal   ((1 * 2^2) + (0 * 2^1) + 1)

צורת ייצוג הבינארית מתאימה רק למספרים בגודל 8 סיביות - byte, אלה מספרים מ-0 (B0) עד 255 (B11111111). אם אתם צריכים להכניס מספר בעל 16 סיביות בצורה בינארית, תוכלו לעשות זאת בשני שלבים, לדוגמה:
קוד: בחר הכל
myInt = (B11001100 * 256) + B10101010;    // B11001100 is the high byte


מספרים אוקטאליים (octal) הם מספרים בבסיס 8. רק ספרות 0 עד 7 תקינות במספרים אלה. כדי להזין מספרים בצורה אוקטאלית, תוסיפו קידומת "0" (אפס) לפני המספר. דוגמה:
קוד: בחר הכל
0101    // same as 65 decimal   ((1 * 8^2) + (0 * 8^1) + 1)

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

מספרים הקסדצימאלים (hexadecimal) הם מספרים בבסיס 16. התווים התקינים לייצוג מספרים אלה הם ספרות מ-0 עד 9 ואותיות מ-A עד F. אות A מקבלת את הערך 10, B את ערך 11 ועד F שמקבל את הערך 15. כדי לייצג מספרים בצורה הקסדצימאלית, תוסיפו קידומת "0x" לפני המספר. את האותיות A עד F אפשר לכתוב גם באותיות קטנות a עד f. דוגמה:
קוד: בחר הכל
0x101   // same as 257 decimal   ((1 * 16^2) + (0 * 16^1) + 1)


סופיות U ו-L

כברירת מחדל ההתייחסות למספרים שלמים היא כמספרים מסוג int, עם כל המגבלות של גודל המספרים מסוג זה. כדי לציין מספר שלם קבוע מסוג אחר, תוכלו להוסיף את הסיומות הבאות:
  • סיומת "U" או "u" תכריח את המספר להשתמש בסוג ללא סימן (unsigned), לדוגמה 33u
  • סיומת "L" או "l" תכריח את המספר להשתמש בסוג long, לדוגמה: 100000L
  • סיומת "UL" או "ul" תכריח את המספר להשתמש בסוג unsigned long, לדוגמה: 32767ul

ראו גם:

קבועים
define#
byte
int
unsigned int
long
unsigned long

פירוט שפת תכנות לסביבת Arduino


עמוד זה הוא תרגום של Integer Constants לפי רישיון Creative Commons Attribution-ShareAlike 3.0.