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

פורום זה מכיל תרגום לעברית של מדריכים, דוגמאות קוד, פירוט שפת תכנות לכרטיסי Arduino וחומרים לימודיים אחרים מהאתר arduino.cc

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

הודעהעל ידי Alex » ב' ספטמבר 22, 2014 12:19 pm

סוג נתון 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.
www.4project.co.il
כל הרכיבים לפרוייקט שלכם
סמל אישי של המשתמש
Alex
מנהל האתר
 
הודעות: 7168
הצטרף: ה' ינואר 28, 2010 8:27 pm

חזור אל תרגום מדריכים מהאתר arduino.cc

Jump box

מי מחובר

משתמשים הגולשים בפורום זה: CCBot [Bot]