تک دیک

واژه نامه و مجله آموزشی کامپیوتر و فناوری

عملگر کاهش Decrement Operator

عملگر کاهش یا Decrement Operator چیست؟

عملگر کاهش (Decrement Operator) عملگری یکانی است که عملوند خود را یک واحد کاهش می‌دهد. هر چند این عمل به صورت معمولی و از طریق عملگرهای تفریق و انتساب نیز قابل انجام است ولی به دلیل رایج بودن و کاربرد بالای آن در برنامه‌نویسی، توسط اغلب زبان‌های امروزی مورد پشتیبانی قرار می‌گیرد.

معمولا این عملگر با دو علامت خط تیره (یا تفریق) نمایش داده می‌شود. به عنوان مثال در قطعه کد زیر که به زبان C++ نوشته شده است، مقدار متغیر x پس از اجرای خط سوم یک واحد کاهش می‌یابد و برابر با عدد 1 می‌شود:

int x = 2;
int result;
result = x--;

در برخی از زبان‌های برنامه‌نویسی از جمله C++ عملگر کاهش دارای دو مدل می‌باشد که اندکی با یکدیگر تفاوت دارند. در مدل اول که عملگر پس از عملوند قرار می‌گیرد، عملوند یک واحد کاهش می‌یابد اما حاصل عبارت، مقدار اصلی عملوند پیش از کاهش خواهد بود. به عبارت بهتر در این حالت، ابتدا عبارت بدون در نظر گرفتن عملگر کاهش ارزیابی می‌شود و سپس عملوند کاهش می‌یابد. درنتیجه، در مثال فوق مقدار متغیر x برابر با 1 اما مقدار متغیر result برابر با 2 خواهد بود. به این عملگر، عملگر پسا-کاهش (Post-Decrement) یا کاهش پسوندی (Postfix Decrement) نیز گفته می‌شود. می‌توان دستورات فوق را به صورت زیر معادل‌سازی نمود:

int x = 2;
int result;
result = x;
x = x - 1;

اما در مدل دوم، عملگر پیش از عملوند خود قرار می‌گیرد، ابتدا عملوند یک واحد کاهش می‌یابد و همین مقدار کاهش یافته به عنوان حاصل عبارت مورد استفاده قرار می‌گیرد. به این عملگر، عملگر پیش-کاهش (Pre-Decrement) یا کاهش پیشوندی (Prefix Decrement) نیز گفته می‌شود. با اجرای قطعه کد زیر، مقدار هر دو متغیر x و result برابر با 1 خواهد شد:

int x = 2;
int result;
result = --x;

همانند نمونه‌ی قبل، این قطعه کد را نیز می‌توان به صورت زیر معادل‌نویسی کرد:

int x = 2;
int result;
x = x - 1;
result = x;

گفتنی است عملگر افزایش (Increment Operator) که با نماد ++ نشان داده می‌شود نیز عملی مشابه را برای افزایش یک واحدی عملوند خود انجام می‌دهد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *