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

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

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

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

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

Captcha

آمار بازدید

  • بازدید امروز : 15
  • بازدید دیروز : 41
  • بازدید کل : 14809

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


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

نوع داده word در آردوینو — ذخیره‌ی اعداد مثبت ۱۶ بیتی به سبک آردوینو

word چیست؟

در آردوینو، نوع داده‌ی word یک نوع عدد صحیح است که دقیقاً ۲ بایت (۱۶ بیت) حافظه مصرف می‌کند و فقط اعداد مثبت یا صفر را ذخیره می‌کند.
محدوده‌ی مقادیر قابل ذخیره در آن:

۰ تا ۶۵,۵۳۵

این نوع داده در تمام برد‌های رایج آردوینو (از جمله Uno، Nano، Mega، ESP32 و Due) همیشه ۲ بایت است — برخلاف int که در برخی برد‌ها ۴ بایت می‌شود.

توضیح برای مبتدی‌ها: کلمه‌ی «word» در دنیای کامپیوتر به معنی «یک واحد داده‌ی ۱۶ بیتی» است. در آردوینو، این کلمه به‌صورت یک نوع داده تعریف شده تا به شما امکان دهد اعداد مثبت ۱۶ بیتی را بدون نگرانی از تغییر اندازه در برد‌های مختلف ذخیره کنید. فکر کنید مثل یک جعبه‌ی ۱۶ تکه‌ای که همه‌ی تکه‌ها فقط برای عدد استفاده می‌شوند — پس بیشترین عدد ممکن (۶۵,۵۳۵) جا می‌شود، اما هیچ‌وقت نمی‌تواند منفی باشد.

تفاوت word با سایر انواع داده

در آردوینو، چند نوع داده وجود دارد که ممکن است شبیه word به نظر برسند:

  • unsigned int: در برد‌های AVR (مثل Uno) همان word است (۲ بایت، ۰–۶۵,۵۳۵). اما در ESP32 یا Due، unsigned int ۴ بایت است — پس با word فرق می‌کند!
  • uint16_t: این نوع از کتابخانه‌های استاندارد C++ آمده و دقیقاً همان word است. در واقع، در آردوینو: typedef uint16_t word;
  • int: می‌تواند منفی باشد و در Uno محدوده‌ی کوچک‌تری دارد (−۳۲,۷۶۸ تا +۳۲,۷۶۷).

بنابراین، اگر نیاز دارید که متغیر شما همیشه ۲ بایت باشد و فقط اعداد مثبت ذخیره کند، word گزینه‌ی ایمن‌تری نسبت به unsigned int است — چون اندازه‌اش در تمام برد‌ها ثابت است.

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

word sensorValue = 1023;      // حداکثر مقدار آنالوگ
word pwmValue = 255;          // مقدار PWM
word counter = 50000;         // شمارنده‌ی بزرگ (کمتر از 65535)

مثال کاربردی: خواندن دو بایت از یک سنسور ۱۶ بیتی

بعضی سنسورها (مثل سنسورهای فشار یا دما با دقت بالا) داده‌های ۱۶ بیتی ارسال می‌کنند. برای ذخیره‌ی این داده، word گزینه‌ی طبیعی است:

// فرض کنید دو بایت از سنسور خوانده شده‌اند
byte highByte = 0x12;
byte lowByte = 0x34;

// ترکیب دو بایت به یک عدد 16 بیتی
word sensorData = (highByte << 8) | lowByte;  // sensorData = 0x1234 = 4660

Serial.println(sensorData);

توضیح برای مبتدی‌ها: عبارت (highByte << 8) یعنی «بایت بالا را ۸ بیت به چپ منتقل کن» — یعنی آن را در جای دهگان بایت قرار بده. سپس با | (یا بیتی) بایت پایین را اضافه می‌کنیم. نتیجه یک عدد ۱۶ بیتی کامل است که دقیقاً در یک word جا می‌شود.

نکته طلایی ۱: word برای کدهای قابل انتقال بین برد‌ها عالی است

اگر کد شما باید هم روی Arduino Uno و هم روی ESP32 اجرا شود، استفاده از word تضمین می‌کند که متغیر شما همیشه ۲ بایت باشد. در مقابل، unsigned int در Uno ۲ بایت است، اما در ESP32 ۴ بایت — که می‌تواند باعث خطا در ارتباطات سریال یا ذخیره‌سازی داده شود.

نکته طلایی ۲: word فقط برای اعداد مثبت است — پس از تفریق مراقب باشید!

چون word بدون علامت است، اگر مقدار آن را کم کنید و از صفر پایین‌تر برود، به انتهای محدوده بر می‌گردد (سرریز معکوس):

word x = 0;
x = x - 1;  // حالا x = 65535!

بنابراین، در حلقه‌های کاهشی یا محاسباتی که ممکن است نتیجه منفی شود، از word استفاده نکنید — یا حتماً قبل از کم کردن، مقدار را بررسی کنید.

جمع‌بندی

  • word = ۲ بایت، فقط ۰ تا ۶۵,۵۳۵
  • در تمام برد‌های آردوینو اندازه‌ی ثابتی دارد
  • همان uint16_t است — ولی نام ساده‌تری برای کاربران آردوینو دارد
  • برای داده‌های ۱۶ بیتی مثبت (مثل سنسورهای دیجیتال، PWM، شمارنده‌ها) ایده‌آل است
  • برای کدهایی که باید روی چندین پلتفرم اجرا شوند، گزینه‌ی ایمن‌تری نسبت به unsigned int است

منبع رسمی

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

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

برچسب های مهم

دیدگاه های کاربران (0)

http://kia-ir.ir

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

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