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

העגלה ריקה

לקוחות נכבדים, אלה שעות הפעילות של המחסן במהלך פסח 2024:
ערב חג וחג ראשון (22-23/04) - המחסן סגור
חול המועד (24-25/04) - המחסן יפעל בין 8:00 עד 15:00
ערב חג וחג שני (28-29/04) - המחסן סגור
נחזור לפעילות רגילה ביום שלישי 30/04
חג שמח!

פירוט שפת תכנות - float


2022-06-14 10:39:00
סוג נתון float נועד לשמירת מספרים בשיטה של נקודה צפה, כלומר מספרים עם נקודה עשרונית. מספרים עם נקודה צפה לרוב משמשים כדי לייצג קירוב של נתונים אנלוגיים או נתונים רציפים מכיוון שיש להם דיוק גבוה יותר ממספרים שלמים (integers). סוג נתון float יכול להכיל מספרים נערך 3.4028235E+38- עד 3.4028235E+38. הם נשמרים ב-32 סיביות (4 בתים(bytes)). ל-float יש רק 6-7 ספרות של דיוק. זהו סה"כ כמות ספרות, לא מספר הספרות אחרי הנקודה העשרונית. בניגוד לפלטפורמות אחרות בהן אתם יכולים להשתמש בסוג נתון double כדי לקבל דיוק גבוה יותר (למשל עד 15 ספרות), ב-Arduino הסוג double הוא באותו הגודל כמו ה-float.
מספרים עם נקודה צפה לא מדויקים ויכולים לתת תוצאות מוזרות כשמשווים אותם. לדוגמה, 6.0 מחולק ב-3.0 יכול להיות שלא יהיה שווה ל-2.0. תצטרכו לבדוק שמספר האבסולוטי של הפרש בין שני מספרים יהיה קטן יותר ממספר קטן כלשהו.
בנוסף, חישובים על מספרים עם נקודה צפה (float, double) איטיים בהרבה מחישובים על מספרים שלמים (integers) וצריכים להימנע מהם אם אתם רוצים לדוגמה להגיע למהירות המקסימלית בלולאה שבתוך פונקציה עם תזמון קריטי. מתכנתים לפעמים ממירים את החישובים על מספרים עם נקודה עשרונית לחישובים על מספרים שלמים כדי לקבל קירוב של תוצאה ולהגדיל את מהירות החישובים.
אם אתם משתמשים בקבועים בחישובים, תצטרכו להוסיף נקודה עשרונית, אחרת המספרים יטופלו כמספרים שלמים. ראו הגדרת מספרים עם נקודה עשרונית (floating point) לפרטים נוספים.

דוגמה

קוד: בחר הכל
float myfloat;
float sensorCalbrate = 1.117;



תחביר

קוד: בחר הכל
float var = val;

פרמטרים בתחביר:
var - משתנה מסוג float
val - ערך אותו אתם מכניסים למשתנה

דוגמה של קוד

קוד: בחר הכל
int x;
int y;
float z;

x = 1;
y = x / 2;            // y now contains 0, ints can't hold fractions
z = (float)x / 2.0;   // z now contains .5 (you have to use 2.0, not 2)


ראו גם:

int
double
הגדרת משתנים

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


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