ثابت‌های اعشاری در آردوینو — آموزش کامل نوشتن اعداد اعشاری در کد  
آردوینو ایران | آموزش تخصصی آردوینو به فارسی

آردوینو ایران | آموزش تخصصی آردوینو به فارسی

آردوینو ایران — مرجع تخصصی آموزش آردوینو به فارسی! دوره‌های کاربردی، پروژه‌محور و گام‌به‌گام برای مبتدی‌ها تا پیشرفته‌ها: از راه‌اندازی اولین LED تا ساخت ربات، IoT و سیستم‌های هوشمند خانه. یادگیری عملی، کدنویسی ساده، پشتیبانی فنی و دسترسی مادام‌العمر به محتوا — فقط برای عاشقان الکترونیک و برنامه‌نویسی سخت‌افزاری.

اشتراک در خبرنامه

جهت عضویت در خبرنامه لطفا ایمیل خود را ثبت نمائید

Captcha

آمار بازدید

  • بازدید امروز : 10
  • بازدید دیروز : 41
  • بازدید کل : 14804

ثابت‌های اعشاری در آردوینو — آموزش کامل نوشتن اعداد اعشاری در کد


ثابت‌های اعشاری در آردوینو — آموزش کامل نوشتن اعداد اعشاری در کد

ثابت‌های اعشاری (Floating Point Constants) در آردوینو — نوشتن اعداد اعشاری در کد

ثابت اعشاری چیست؟

در آردوینو، ثابت اعشاری (Floating Point Constant) به هر عددی گفته می‌شود که شامل یک نقطه اعشاری (.) باشد و به‌صورت مستقیم در کد نوشته شود.
این اعداد به‌طور خودکار توسط کامپایلر به عنوان نوع داده‌ی float در نظر گرفته می‌شوند — مگر اینکه مشخصاً به عنوان double تعریف شوند (که در آردوینو AVR همان float است).

توضیح برای مبتدی‌ها: وقتی شما در کد عددی مثل 3.14 یا 0.001 می‌نویسید، آردوینو آن را به‌عنوان یک «ثابت اعشاری» تشخیص می‌دهد. این عدد در حافظه به‌صورت خاصی ذخیره می‌شود که بتواند بخش اعشاری را هم نگه دارد — برخلاف اعداد صحیح مثل 5 که فقط برای اعداد کامل طراحی شده‌اند.

چرا به ثابت‌های اعشاری نیاز داریم؟

در پروژه‌های آردوینو، اغلب با مقادیری سروکار داریم که نیاز به دقت اعشاری دارند: — دما (مثل ۲۳.۵ درجه)
— ولتاژ (مثل ۳.۳ ولت)
— فاصله (مثل ۱۲.۷ سانتی‌متر)
— ثابت‌های ریاضی (مثل π = ۳.۱۴۱۵۹)

بدون استفاده از ثابت‌های اعشاری، نمی‌توانیم این مقادیر را به‌درستی در کد بنویسیم.

فرم‌های نوشتن ثابت اعشاری

در آردوینو، ثابت اعشاری را می‌توان به چند شکل نوشت:

۱. فرم معمولی (با نقطه اعشاری)

float pi = 3.14159;
float voltage = 5.0;
float small = 0.001;

⚠️ نکته مهم: برای اعداد صحیحی که می‌خواهید به‌عنوان اعشاری در نظر گرفته شوند، حتماً .0 اضافه کنید:

float a = 5;    // ممکن است به عنوان int در نظر گرفته شود (سپس تبدیل شود)
float b = 5.0;  // قطعاً به عنوان float در نظر گرفته می‌شود

۲. فرم نماد علمی (Scientific Notation)

برای اعداد بسیار کوچک یا بسیار بزرگ، می‌توانید از نماد علمی استفاده کنید:

float micro = 1e-6;    // معادل 0.000001
float mega = 1e6;      // معادل 1000000.0
float avogadro = 6.022e23;

در اینجا، e یا E به معنی «ضرب در ۱۰ به توان» است.

توضیح برای مبتدی‌ها: 1e-6 یعنی «۱ ضرب در ۱۰ به توان منفی ۶» = ۰٫۰۰۰۰۰۱. این روش برای نوشتن اعداد خیلی کوچک (مثل ثابت پلانک) یا خیلی بزرگ (مثل جمعیت جهان) بسیار راحت‌تر از نوشتن صفرهای زیاد است.

مثال کاربردی: محاسبه ولتاژ واقعی از مقدار آنالوگ

در این مثال، از یک ثابت اعشاری برای تبدیل مقدار خام سنسور به ولتاژ استفاده می‌شود:

const float REFERENCE_VOLTAGE = 5.0;  // ولتاژ مرجع آردوینو

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(A0);
  float voltage = sensorValue * (REFERENCE_VOLTAGE / 1023.0);
  
  Serial.print("ولتاژ: ");
  Serial.print(voltage, 2);  // نمایش با 2 رقم اعشار
  Serial.println(" ولت");
  
  delay(1000);
}

در اینجا، 5.0 و 1023.0 هر دو ثابت‌های اعشاری هستند تا محاسبه به‌درستی به‌صورت اعشاری انجام شود.

نکته طلایی ۱: همیشه از .0 برای اعداد صحیح اعشاری استفاده کنید

اگر عددی مثل 5 را به‌عنوان مقدار اولیه برای یک float استفاده کنید، کامپایلر ابتدا آن را به‌عنوان int در نظر می‌گیرد، سپس آن را به float تبدیل می‌کند. این کار معمولاً مشکلی ایجاد نمی‌کند، اما در محاسبات پیچیده یا هنگام استفاده از ماکروها ممکن است باعث خطاهای ظریف شود.
بنابراین، عادت کنید همیشه برای اعداد اعشاری از .0 استفاده کنید — حتی اگر بخش اعشاری صفر باشد.

نکته طلایی ۲: دقت ثابت‌های اعشاری محدود است

ثابت‌های اعشاری در آردوینو (مثل همه اعداد float) فقط دقتی حدود ۶ تا ۷ رقم معنی‌دار دارند. پس نوشتن 3.14159265358979323846 بی‌فایده است — چون فقط 3.141592 ذخیره می‌شود.
برای اجتناب از سردرگمی، ثابت‌ها را با دقت واقعی‌شان بنویسید:

const float PI = 3.141592;  // کافی است — بیشتر از این ذخیره نمی‌شود

جمع‌بندی

  • ثابت اعشاری = هر عددی که شامل نقطه (.) باشد
  • به‌طور خودکار به عنوان float در نظر گرفته می‌شود
  • برای اعداد صحیح اعشاری، حتماً از .0 استفاده کنید
  • از نماد علمی (1e-6) برای اعداد بسیار کوچک یا بزرگ استفاده کنید
  • دقت آن‌ها محدود است — پس از نوشتن ارقام اضافه خودداری کنید

منبع رسمی

این مطلب بر اساس مستندات رسمی Arduino از بخش Floating Point Constants – Language Reference تهیه شده است، با توضیحات ساده‌شده، مثال‌های کاربردی و نکات طلایی منحصربه‌فرد برای جامعه فارسی‌زبان.

  انتشار : ۱۶ مهر ۱۴۰۴               تعداد بازدید : 304

برچسب های مهم

http://kia-ir.ir

تمام حقوق مادی و معنوی این وب سایت متعلق به "آردوینو ایران | آموزش تخصصی آردوینو به فارسی" می باشد

فید خبر خوان    نقشه سایت    تماس با ما