
در آردوینو، ثابت صحیح (Integer Constant) به هر عددی گفته میشود که بهصورت مستقیم در کد نوشته شود و فاقد نقطه اعشاری باشد.
این اعداد بهطور خودکار توسط کامپایلر به عنوان نوع دادهی int در نظر گرفته میشوند — مگر اینکه با پسوند یا مقدار بزرگتر، نوع دیگری مشخص شود.
توضیح برای مبتدیها: وقتی شما در کد عددی مثل
100،-5یا0مینویسید، آردوینو آن را یک «ثابت صحیح» میداند. این اعداد فقط برای مقادیر کامل (بدون اعشار) استفاده میشوند — مثل تعداد دفعات تکرار، شماره پین یا مقدار سنسور دیجیتال.
در پروژههای آردوینو، بیشتر محاسبات و کنترلها با اعداد صحیح انجام میشوند: — شماره پینها (مثل ۱۳)
— تعداد تکرار حلقه (مثل for (int i = 0; i < 10; i++))
— مقادیر سنسور دیجیتال (مثل digitalRead() که ۰ یا ۱ برمیگرداند)
— زمان تأخیر (مثل delay(1000))
ثابتهای صحیح سادهترین و کارآمدترین راه برای نوشتن این اعداد در کد هستند.
در آردوینو، میتوانید اعداد صحیح را در سه مبنای رایج بنویسید:
اعداد معمولی بدون هیچ پیشوندی:
int a = 1024;
int b = -255;
int c = 0;
برای نمایش اعداد بهصورت بیتبهبیت (مثلاً برای کنترل مستقیم بیتها):
int d = 0b1111; // معادل 15 در دهدهی
int e = 0b10101010; // معادل 170
توضیح برای مبتدیها:
0b1111یعنی ۱×۸ + ۱×۴ + ۱×۲ + ۱×۱ = ۱۵. این روش برای کار با رجیسترها یا سنسورهایی که داده را بهصورت بیتی ارسال میکنند بسیار مفید است.
برای نمایش فشردهتر اعداد بزرگ یا رنگها:
int f = 0xFF; // معادل 255
int g = 0x1A3; // معادل 419
در این مبنا، ارقام A تا F بهترتیب معادل ۱۰ تا ۱۵ هستند.
⚠️ هشدار: اگر عددی با صفر شروع شود، آردوینو آن را بهعنوان مبنای هشت در نظر میگیرد:
int h = 010; // ❌ این 10 نیست! این معادل 8 در دهدهی است
این رفتار گاهی باعث خطاهای پنهان میشود. پس مگر اینکه واقعاً نیاز داشته باشید، از اعدادی که با صفر شروع میشوند خودداری کنید.
در این مثال، از ثابتهای شانزدهشانزدهی برای نمایش رنگها استفاده میشود:
const int RED_PIN = 9;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;
// رنگ سفید: #FFFFFF → قرمز=255, سبز=255, آبی=255
const byte RED_VALUE = 0xFF;
const byte GREEN_VALUE = 0xFF;
const byte BLUE_VALUE = 0xFF;
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void loop() {
analogWrite(RED_PIN, RED_VALUE);
analogWrite(GREEN_PIN, GREEN_VALUE);
analogWrite(BLUE_PIN, BLUE_VALUE);
// LED سفید میشود
}
شما میتوانید بنویسید -10، اما نمیتوانید بنویسید -0xFF یا -0b1010. اگر نیاز به عدد منفی در مبناهای دیگر دارید، ابتدا مقدار مثبت را بنویسید، سپس علامت منفی را اضافه کنید:
int negativeHex = -(0xFF); // -255
کامپایلر آردوینو نوع ثابت صحیح را بر اساس مقدار آن انتخاب میکند: — اگر عدد بین -۳۲,۷۶۸ تا +۳۲,۷۶۷ باشد → int (۲ بایت در Uno)
— اگر عدد بزرگتر باشد → long (۴ بایت)
اگر میخواهید مجبور کنید که یک عدد کوچک بهعنوان long در نظر گرفته شود، از پسوند L استفاده کنید:
long bigNumber = 100L; // مجبور به long شدن
0b)، شانزدهشانزدهی (0x)، هشتهشتی (0 — با احتیاط!)0x برای رنگها و آدرسها، از 0b برای کار با بیتها استفاده کنید010) خودداری کنید — مگر نیاز واقعی داشته باشیداین مطلب بر اساس مستندات رسمی Arduino از بخش Integer Constants – Language Reference تهیه شده است، با توضیحات سادهشده، مثالهای کاربردی و نکات طلایی منحصربهفرد برای جامعه فارسیزبان.
برچسب های مهم