اعداد منفی در سیشارپ
اعداد منفی در سیشارپ برای نمایش مقادیر کمتر از صفر استفاده میشوند و با انواع دادهای مانند int و double قابل ذخیره هستند.
06 آبان 1405
لینک کوتاه
اعداد منفی در سیشارپ (#C)
در زبان برنامهنویسی سیشارپ (#C)، اعداد منفی یکی از مفاهیم پایهای و مهم در برنامهنویسی هستند.اعداد منفی برای نمایش مقادیری استفاده میشوند که از صفر کمتر هستند.
برای مثال، دمای منفی ۵ درجه، بدهی ۲۰۰ هزار تومان یا اختلاف ارتفاع یک مکان نسبت به سطح دریا میتوانند با اعداد منفی نمایش داده شوند.
در سیشارپ، میتوان اعداد منفی را در متغیرهای عددی ذخیره کرد، آنها را با یکدیگر جمع و تفریق کرد و در محاسبات ریاضی به کار برد.
البته همه نوع دادههای عددی در این زبان امکان ذخیره اعداد منفی را ندارند؛ برای مثال، نوع داده int میتواند اعداد منفی را ذخیره کند، اما نوع داده uint فقط برای اعداد صحیح غیرمنفی استفاده میشود.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
تعریف عدد منفی در سیشارپ
برای تعریف یک عدد منفی، کافی است علامت منفی (-) را قبل از عدد قرار دهیم.مثال:
int number = -10;
Console.WriteLine(number);
خروجی برنامه:
-10
در این مثال، متغیری با نام number از نوع int تعریف شده است و مقدار منفی ۱۰ در آن قرار گرفته است.دستور Console.WriteLine نیز مقدار متغیر را در خروجی نمایش میدهد.
همچنین میتوان اعداد منفی را مستقیماً در محاسبات استفاده کرد:
int a = -5;
int b = 3;
Console.WriteLine(a + b);
خروجی:
-2
زیرا حاصل جمع منفی ۵ و مثبت ۳ برابر با منفی ۲ است.
انواع دادهای مناسب برای اعداد منفی در سی شارپ
در سیشارپ، انواع دادهای مختلفی برای ذخیره اعداد وجود دارند.بعضی از آنها اعداد منفی را پشتیبانی میکنند و بعضی دیگر خیر.
| نوع داده | پشتیبانی از اعداد منفی | محدوده تقریبی |
| sbyte | بله | ۱۲۸- تا ۱۲۷ |
| short | بله | ۳۲٬۷۶۸- تا ۳۲٬۷۶۷ |
| int | بله | حدود ۲٫۱ میلیارد- تا ۲٫۱ میلیارد |
| long | بله | محدوده بسیار بزرگ اعداد صحیح |
| float | بله | اعداد اعشاری مثبت و منفی |
| double | بله | اعداد اعشاری با دقت بیشتر |
| decimal | بله | اعداد اعشاری با دقت مناسب محاسبات مالی |
| byte | خیر | صفر تا ۲۵۵ |
| uint | خیر | صفر تا ۴٬۲۹۴٬۹۶۷٬۲۹۵ |
برای مثال، کد زیر معتبر است:
int temperature = -15;
double balance = -250.75;
Console.WriteLine(temperature);
Console.WriteLine(balance);
اما اگر بخواهیم عدد منفی را در یک متغیر از نوع uint ذخیره کنیم، با خطای کامپایل مواجه میشویم:
uint number = -10;
نوع uint برای مقادیر صحیح بدون علامت تعریف شده است؛ بنابراین نمیتواند مقدار منفی را ذخیره کند.
عملیات ریاضی با اعداد منفی در سی شارپ
اعداد منفی در سیشارپ مانند سایر اعداد در عملیات ریاضی شرکت میکنند.-
جمع اعداد منفی
اگر دو عدد منفی را با هم جمع کنیم، حاصل نیز منفی خواهد بود.
int a = -8;
int b = -4;
Console.WriteLine(a + b);
خروجی:
-12
-
تفریق اعداد منفی
تفریق یک عدد منفی از عدد دیگر، از نظر ریاضی معادل جمع کردن مقدار مثبت آن است.
int a = 10;
int b = -5;
Console.WriteLine(a - b);
خروجی:
15
در این مثال، عبارت 10 - (-5) برابر با ۱۵ است.
-
ضرب اعداد منفی
در ضرب، اگر دو عدد علامت یکسان داشته باشند، حاصل مثبت میشود. اگر علامت آنها متفاوت باشد، حاصل منفی خواهد شد.
Console.WriteLine(-4 * -3);
Console.WriteLine(-4 * 3);
خروجی:
12
-12
-
تقسیم اعداد منفی
در تقسیم نیز قوانین علامت مشابه ضرب هستند.
Console.WriteLine(-20 / 5);
Console.WriteLine(-20 / -5);
خروجی:
-4
4
نکته مهم این است که تقسیم دو عدد صحیح از نوع int، قسمت اعشاری نتیجه را حذف میکند.
برای مثال، -7 / 2 برابر با -3 خواهد بود، نه -3.5.
استفاده از شرطها برای تشخیص اعداد منفی
یکی از کاربردهای مهم اعداد منفی، تشخیص آنها با استفاده از دستورات شرطی است.در سیشارپ میتوان از دستور if برای بررسی منفی بودن یک عدد استفاده کرد.
int number = -12;
if (number < 0)
{
Console.WriteLine("عدد منفی است");
}
else
{
Console.WriteLine("عدد منفی نیست");
}
خروجی:
عدد منفی است
در این برنامه، شرط number < 0 بررسی میکند که آیا مقدار متغیر کوچکتر از صفر است یا خیر. اگر شرط درست باشد، پیام اول نمایش داده میشود؛ در غیر این صورت، پیام دوم نمایش داده خواهد شد.
برای تشخیص مثبت، منفی یا صفر بودن عدد نیز میتوان از ساختار زیر استفاده کرد:
int number = 0;
if (number > 0)
{
Console.WriteLine("عدد مثبت است");
}
else if (number < 0)
{
Console.WriteLine("عدد منفی است");
}
else
{
Console.WriteLine("عدد صفر است");
}
این برنامه هر سه حالت ممکن را بررسی میکند.
تبدیل عدد منفی به مثبت با Math.Abs
در سیشارپ، کلاس Math دارای متدی به نام Abs است که قدرمطلق یک عدد را برمیگرداند.قدرمطلق، فاصله عدد از صفر است و همیشه نامنفی خواهد بود.
مثال:
int number = -25;
int result = Math.Abs(number);
Console.WriteLine(result);
خروجی:
25
در این مثال، مقدار -25 به 25 تبدیل میشود.
برای اعداد اعشاری نیز میتوان از این متد استفاده کرد:
double number = -12.75;
Console.WriteLine(Math.Abs(number));
خروجی:
12.75
توجه داشته باشید که Math.Abs مقدار اصلی متغیر را تغییر نمیدهد؛ بلکه نتیجه را برمیگرداند.
بنابراین اگر بخواهیم مقدار جدید در همان متغیر ذخیره شود، باید بنویسیم:
number = Math.Abs(number);
همچنین برای کوچکترین مقدار قابل ذخیره در برخی انواع عدد صحیح علامتدار، مانند int.MinValue، محاسبه قدرمطلق با همان نوع داده امکانپذیر نیست و ممکن است OverflowException رخ دهد.دریافت اعداد منفی از کاربر در سی شارپ
در برنامههای واقعی، معمولاً لازم است کاربر عددی را وارد کند.برای دریافت ورودی میتوان از Console.ReadLine و برای تبدیل ورودی به عدد صحیح از int.TryParse استفاده کرد.
Console.Write("یک عدد وارد کنید: ");
string input = Console.ReadLine() ?? "";
if (int.TryParse(input, out int number))
{
if (number < 0)
{
Console.WriteLine("عدد واردشده منفی است.");
}
else if (number > 0)
{
Console.WriteLine("عدد واردشده مثبت است.");
}
else
{
Console.WriteLine("عدد واردشده صفر است.");
}
}
else
{
Console.WriteLine("ورودی معتبر نیست.");
}
این برنامه ابتدا ورودی کاربر را دریافت میکند، سپس بررسی میکند که آیا ورودی قابل تبدیل به عدد صحیح است یا خیر.
اگر ورودی معتبر باشد، علامت عدد مشخص میشود.
استفاده از TryParse باعث میشود ورود متن غیرعددی بهجای ایجاد خطای تبدیل، بهصورت کنترلشده مدیریت شود.
نکات مهم درباره اعداد منفی در سیشارپ
هنگام کار با اعداد منفی در سیشارپ، باید به چند نکته توجه کرد:-
سرریز عددی (Overflow)
اگر نتیجه یک محاسبه از محدوده نوع داده خارج شود، ممکن است مقدار نادرست یا استثنا ایجاد شود؛ رفتار دقیق به نوع عملیات و تنظیمات بررسی سرریز بستگی دارد. -
نوع داده مناسب
اگر احتمال وجود اعداد منفی وجود دارد، از انواعی مانند int، long، float یا double استفاده کنید. -
مقایسه با صفر
برای تشخیص منفی بودن عدد، شرط number < 0 روش ساده و مناسبی است. -
اعداد اعشاری
در محاسبات اعشاری، بهویژه با float و double، ممکن است خطاهای کوچک مربوط به نمایش اعداد وجود داشته باشد. -
صفر عدد منفی نیست
در مقایسههای معمول سیشارپ، صفر نه مثبت است و نه منفی.

نتیجهگیری
اعداد منفی بخش مهمی از برنامهنویسی در زبان سیشارپ هستند و در بسیاری از کاربردها، از محاسبه دما و موجودی حساب گرفته تا انجام عملیات ریاضی و بررسی شرایط، مورد استفاده قرار میگیرند.با یادگیری انواع دادهای مناسب، عملیات ریاضی، دستورهای شرطی و متد Math.Abs میتوان بهراحتی با اعداد منفی کار کرد.
همچنین استفاده از روشهایی مانند int.TryParse برای دریافت ورودی و بررسی معتبر بودن آن، باعث میشود برنامهها قابلاعتمادتر و مقاومتر باشند.



کاربران ما
شما هم نظرتون با ما دریاره “اعداد منفی در سیشارپ” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید