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

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

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

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

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

Captcha

آمار بازدید

  • بازدید امروز : 30
  • بازدید دیروز : 10
  • بازدید کل : 14597

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


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

نوع داده int در آردوینو — ستون فقرات برنامه‌نویسی عددی

int چیست؟

در آردوینو، نوع داده‌ی int (مخفف integer یا «عدد صحیح») یکی از پرکاربردترین انواع داده است.
این نوع برای ذخیره‌ی اعداد صحیح مثبت و منفی استفاده می‌شود — یعنی اعدادی بدون ممیز یا بخش اعشاری.

اما نکته‌ی بسیار مهم: اندازه‌ی int در آردوینو همیشه یکسان نیست!
— در برد‌های مبتنی بر تراشه‌های AVR (مثل Arduino Uno, Nano, Mega):
  int = ۲ بایت → محدوده: −۳۲,۷۶۸ تا +۳۲,۷۶۷
— در برد‌های مبتنی بر ARM یا ESP (مثل Arduino Due, ESP32):
  int = ۴ بایت → محدوده: −۲,۱۴۷,۴۸۳,۶۴۸ تا +۲,۱۴۷,۴۸۳,۶۴۷

این تفاوت به دلیل استاندارد C++ است که اندازه‌ی int را بر اساس «اندازه‌ی طبیعی پردازنده» تعریف می‌کند.

چرا int را بیشتر از همه استفاده می‌کنند؟

چون بیشتر شماره‌ها در دنیای آردوینو در محدوده‌ی −۳۲,۷۶۸ تا +۳۲,۷۶۷ قرار دارند:
— شماره پین‌ها (۰ تا ۵۳)
— مقادیر سنسور آنالوگ (۰ تا ۱۰۲۳)
— زمان‌های تأخیر (میلی‌ثانیه)
— شمارنده‌های حلقه

بنابراین، int گزینه‌ی «پیش‌فرض» برای اعداد صحیح در آردوینو است.

نحوه تعریف و استفاده

int counter = 0;
int sensorValue = analogRead(A0);  // مقداری بین 0 تا 1023
int temperature = -10;             // دما می‌تواند منفی باشد!

مثال کاربردی: شمارش فشردن دکمه

در این مثال، هر بار که دکمه فشرده می‌شود، یک شمارنده افزایش پیدا می‌کند:

const int buttonPin = 2;
int pressCount = 0;
int lastButtonState = HIGH;
int currentButtonState;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  currentButtonState = digitalRead(buttonPin);
  
  if (lastButtonState == HIGH && currentButtonState == LOW) {
    pressCount++;  // افزایش شمارنده
    Serial.print("دکمه ");
    Serial.print(pressCount);
    Serial.println(" بار فشرده شد.");
    delay(50);  // جلوگیری از نوسان (debounce)
  }
  
  lastButtonState = currentButtonState;
}

نکته طلایی ۱: سرریز (Overflow) — وقتی عدد از حد بیشتر می‌شود!

اگر مقدار یک int در AVR از +۳۲,۷۶۷ بیشتر شود، به‌جای خطا دادن، به −۳۲,۷۶۸ بر می‌گردد!
این پدیده را «سرریز» (overflow) می‌گویند:

int x = 32767;
x = x + 1;  // حالا x = -32768 !

این رفتار گاهی در انیمیشن‌ها یا شمارنده‌های چرخشی مفید است، اما اغلب باعث باگ‌های پنهان می‌شود.
اگر نیاز به اعداد بزرگ‌تر دارید، از long استفاده کنید.

نکته طلایی ۲: همیشه از unsigned int استفاده نکنید — مگر مطمئن باشید!

اگر عدد شما همیشه مثبت است (مثل شماره پین یا مقدار سنسور)، ممکن است فکر کنید unsigned int بهتر است.
اما این نوع داده محدوده‌ی بیشتری ندارد — فقط جهت منفی را حذف می‌کند:
int: −۳۲,۷۶۸ تا +۳۲,۷۶۷
unsigned int: ۰ تا ۶۵,۵۳۵

با این حال، استفاده از unsigned می‌تواند باعث سردرگمی در محاسبات (مثلاً وقتی یک عدد منفی غیرمنتظره ظاهر شود) شود.
برای مبتدی‌ها، استفاده از int ساده‌تر و ایمن‌تر است — مگر اینکه واقعاً به محدوده‌ی ۰–۶۵۵۳۵ نیاز داشته باشید.

تفاوت int با long و byte

  • byte: ۱ بایت، فقط ۰ تا ۲۵۵ — برای اعداد کوچک و مثبت
  • int: ۲ بایت در AVR، منفی و مثبت — برای کاربردهای عمومی
  • long: ۴ بایت، محدوده‌ی بسیار بزرگ — برای زمان (میلی‌ثانیه)، GPS و...

انتخاب درست نوع داده، هم حافظه را ذخیره می‌کند و هم کد را خواناتر می‌سازد.

منبع رسمی

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

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

برچسب های مهم

http://kia-ir.ir

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

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