cpp-02-09 - انواع داده
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:
-
اجازه ذخیره عدد منفی نمیدهد
-
محدوده مثبت را تقریباً دو برابر میکند
-
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) وابسته به کامپایلر هستند
لطفا برای گذاشتن نظرات خود وارد شوید