float در آردوینو
نوعدادهی float در آردوینو برای ذخیرهسازی اعداد ممیز شناور (اعدادی که ممیز یا نقطه اعشار دارند) است. معمولاً از اعداد ممیز شناور برای تقریب زدن مقادیر آنالوگ و پیوسته استفاده میشود؛ چراکه این نوع اعداد دقت بیشتری از اعداد صحیح (integers) دارند. اعداد ممیز شناور میتوانند به بزرگی 3.4028235E+38 و به کوچکی 3.4028235E+38- باشند. این نوعداده 32 بیت (4 بایت) اطلاعات را در خود ذخیره میکند. floatها 7-6 عدد دهدهی دقت دارند؛ یعنی کل عدد، این تعداد رقم دارد، نه تعداد ارقام سمت راست اعشار. برعکس دیگر زبانها که برای افزایش دقت (بهعنوانمثال تا 15 رقم) میتوان از نوعدادهی double استفاده کرد، در آردوینو، double نیز هماندازهی float است. اعداد ممیز شناور، دقیق نیستند و ممکن است هنگام مقایسه، نتایج عجیبی تولید کنند. برای مثال حاصل 6.0/3.0 ممکن است برابر با 2.0 نشود. به جای اینکار باید چک کنید که مقدارِ مطلقِ تفاضلِ بین اعداد، کمتر از عددی کوچک باشد. در انجام محاسبات، اعداد ممیز شناور بسیار آهستهتر (زمانبرتر) از محاسبات اعداد صحیح هستند. پس اگر بهعنوانمثال برای یک کار حیاتی از نظر زمان، حلقهای دارید که باید با نهایت سرعت اجرا شود، از اعداد ممیز شناور استفاده نکنید. معمولاً برنامهنویسان برای افزایش سرعت، اعداد ممیز شناور را به اعداد صحیح تبدیل میکنند. اگر میخواهید با اعداد ممیز شناور محاسبات انجام دهید، باید یک ممیز قرار دهید؛ وگرنه عدد بهعنوان int در نظر گرفته خواهد شد. برای جزییات بیشتر صفحهی ثابتهای ممیز شناور را ببینید.
مثال:
float myfloat; float sensorCalbrate = 1.117;
سینتکس (نحو):
float var = val;
- var: نام متغیرِ از نوع float.
- val: مقداری که به متغیر نسبت میدهید.
کد نمونه:
int x; int y; float z; x = 1; y = x / 2; //متغیر وای مقدار 0 را در خود دارد. متغیرهای از نوع عدد صحیح (اینت) نمیتوانند در خود کسر نگه دارند. z = (float)x / 2.0; // باید از دو ممیز صفر استفاده کنید. نه دو //متغیر زد مقدار نیم را در خود دارد.