cpp-02-09 - انواع داده

بازدید : 23

0

اشتراک

cpp-02-09 - انواع داده

توضیحات :

در این ویدیو ادامه‌ی بحث انواع داده را بررسی می‌کنیم و علاوه بر نوع‌های اصلی مثل int، float و double با بقیه‌ی data typeهای رایج C++ آشنا می‌شویم. هدف این جلسه این است که بدانید هر نوع داده چقدر فضا می‌گیرد، چه محدوده‌ای را ذخیره می‌کند و در چه موقعیت‌هایی باید از آن استفاده کنید.


🔹 1. Integer (int)

  • اندازه: ۴ بایت

  • محدوده تقریبی: از منفی ۲ میلیارد تا مثبت ۲ میلیارد

  • پرکاربردترین نوع داده برای اعداد صحیح


🔹 2. Long

  • انتظار داریم دو برابر int باشد، اما در کامپایلر MSVC معمولاً:

    • long = ۴ بایت

    • int = ۴ بایت

  • رفتار long در سیستم‌های مختلف فرق دارد و وابسته به کامپایلر است.


🔹 3. Short

  • اندازه: ۲ بایت

  • محدوده تقریبی: -32768 تا 32767

  • مناسب زمانی که عدد کوچک‌تر ذخیره می‌کنید و می‌خواهید فضای کمتری مصرف شود.


🔹 4. Float و Double (مرور کوتاه)

  • float → حدود ۶ رقم اعشار

  • double → حدود ۱۵–۱۶ رقم اعشار

  • در نسخه‌های جدید MSVC (بعد از ۲۰۱۷):

    • float = ۴ بایت

    • double = ۸ بایت

  • در نسخه‌های قدیمی‌تر: هر دو ۴ بایت


🔹 5. Char

  • اندازه: ۱ بایت

  • برای ذخیره یک کاراکتر انگلیسی مثل 'A'

  • نکته: برای زبان‌های فارسی/چینی/ژاپنی باید از یونیکد (UTF-8, UTF-16, …) استفاده کنید که بیش از ۱ بایت اشغال می‌کنند.


🔹 6. Bool

  • مقدار منطقی true / false

  • معمولاً ۱ بایت فضا می‌گیرد

  • کاربرد در شرط‌ها و تصمیم‌گیری‌ها


🔹 7. Unsigned Types

وقتی عدد منفی نمی‌خواهید، از کلمه‌ی unsigned استفاده می‌کنید:

unsigned int x = 5;

مزایای unsigned:

  1. اجازه ذخیره عدد منفی نمی‌دهد

  2. محدوده مثبت را تقریباً دو برابر می‌کند

    • unsigned int → حدود ۰ تا ۴ میلیارد

نکته مهم:

  • unsigned فقط برای اعداد صحیح معنی دارد.

  • ترکیب‌هایی مثل unsigned double از نظر استاندارد معتبر نیستند، هرچند MSVC ممکن است آن را اجرا کند ولی warning می‌دهد.


🔹 8. چرا double را نمی‌توان unsigned کرد؟

چون float و double برای ذخیره اعشار بخشی از بایت‌ها را به “ممیز / exponent” اختصاص می‌دهند و اگر بخواهیم علامت مثبت/منفی را هم مدیریت کنیم، ساختارش قابل ترکیب با unsigned نیست.
به همین دلیل استاندارد C++ اصلاً اجازه "unsigned floating number" نمی‌دهد.


🔹 9. سایر انواع داده

در برخی کامپایلرها نوع‌های دیگری مثل byte نیز وجود دارد که محدوده‌ی ۰ تا ۲۵۵ را ذخیره می‌کند؛ ولی در آموزش استاندارد C++ معمولاً از آن استفاده نمی‌کنیم.


⭐ نتیجه‌گیری

در پایان این ویدیو یاد می‌گیرید:

  • هر نوع داده چقدر فضا می‌گیرد

  • چه محدوده‌ای را می‌تواند ذخیره کند

  • چه زمانی از int، long، short، float، double، char یا bool استفاده کنید

  • مفهوم و مزیت‌های unsigned چیست

  • چرا برخی رفتارها (مثل اندازه long یا double) وابسته به کامپایلر هستند

لطفا برای گذاشتن نظرات خود وارد شوید

نظرات شما عزیزان