دیتاتایپ ها،معرفی و بررسی
دیتاتایپ ها،معرفی و بررسی
مطمئنا شما با هر زبان برنامه نویسی کار کنید، نیاز به متغیر ها خواهید داشت…
متغیر ها در اصل چیزی نیستن جز مکان های رزرو شده از حافظه که برای ما مقادیری را در خود نگه داری میکنن و ما میتونیم در زمان اجرای برنامه ، از این مقادیر استفاده کنیم…
هر متغیر، یک نوعِ داده یا دیتا تایپ داره که در این مقاله، به برسی دیتا تایپ ها میپردازیم(دیتا تایپ های موجود در ++c)
- دیتا تایپ های از پیش ساخته شده:
در بیشتر زبان های برنامه نویسی، دیتا تایپ های از پیش ساخته شده موجود هستند که ما میتونیم به راحتی از انها استفاده کنیم(البته میتونیم نوع داده ی خودمون رو هم درست کنیم که در مقالات بعدی به اون میپردازیم).
در زبان سی پلاس پلاس و زبان های مشابه، دیتاتایپ های زیر وجود دارند…
نوع | نام فارسی | keyword |
---|---|---|
Boolean | منطقی | bool |
Character | کاراکتر | char |
Integer | عدد صحیح | int |
Floating point | عدد اعشاری | float |
Double floating point | عدد اعشاری بزرگ | double |
Valueless | بدون مقدار | void |
Wide character | کاراکتر بزرگ | wchar_t |
از هرکدوم از دیتاتایپ های بالا،در زمان مورد نیاز میتونیم استفاده کنیم…
در ادامه توضیح مختصری در باره هر کدوم از دیتاتایپ ها داریم(رنج استفاده از دیتاتایپ هارو به شکل دقیق در جدول بعدی میبینیم)
- boolean: دیتاتایپ بولین یک دیتاتایپ منطقی هست و فقط و فقط مقدار صحیح(true) و یا غلط(false) رو قبول میکنه…
- Character:این دیتاتایپ،فقط یک کاراکتر برای مثال ‘s’ یا ‘2’ یا ‘\n’ رو قبول میکنه و میشه برخی محاسبات رو روی اعداد ASCII مربوط به اون کاراکتر انجام داد…
- integer:یک عدد صحیح رو در حافظه ایجاد میکنه، این عدد میتونه مثبت منفی یا صفر باشه اما اگر عدد اعشاری ای رو به عنوان مقدار بهش بدیم، با خطا مواجه میشیم…
- Floating point: اعداد اعشاری رو قبول میکنه و اگر عدد صحیح مانند 3 رو بهش نسبت بدیم ، به شکل 3.0 اون رو در خودش ذخیره میکنه(در بعضی از کامپایلر ها، اگر مقدار 3 رو بدیم برای مثال، خطا میگیره و باید حتما عدد اعشاری مثل 3.0 رو وارد کنیم)
- Double floating point: نوع دابل هم دقیقا مثل فلوت هست اما بازه ی بیشتر و بزرگتری از اعداد اعشاری رو قبول میکنه…
- Valueless: این دیتاتایپ بیشتر برای توابع استفاده میشه و مقداری بر نمیگردونه…
- Wide character: این دیتاتایپ مثل کاراکتر میمونه اما بیشتر باید به شکل پوینتر ازش استفاده بشه(زمانی که از کاراکتر به شکل پوینتر استفاده بشه، عملکردی مثل string خواهد داشت)
خوب، حالا هر کدوم از دیتا تایپ های بالارو ، میتونیم با پسوند های زیر ازشون استفاده کنیم و اگر از این پسوند ها استفاده کنیم، در بازه ی قابل قبول این متغیر ها، تغییراتی به وحود میاد:
- signed : این تغییر دهنده، باعث میشه که علامت ها هم موحود باشن توی دیتاتایپ(یعنی مقادیر منفی هم قرار میگیره در بازه ی دیتاتایپ)
- unsigned :این تغییر دهنده باعث میشه که متغیر، فقط و فقط مقادیر 0 و مثبت رو قبول کنه و اعداد منفیی جایی در اون نداشته باشن…
- short :این تغییر دهنده،یک دیتاتایپ رو ایجاد میکنه که از دیتاتایپ عادی مقدارش کمتر هست(در جدول میبینیم)
- long :این تغییر دهنده، یک دیتاتایپ رو ایجاد میکنه که از دیتاتایپ عادی، بزرگتر هستش(اینم در جدول مشخص هست)
خوب، جدول زیر رو مشاهده کنید
نوع | فضای رزرو شده | بازه ی قابل قبول |
---|---|---|
char | 1بایت | -127 تا +127 یا 0 تا 255 |
unsigned char | 1بایت | 0 تا 255 |
signed char | 1بایت | -127 تا +127 یا 0 تا 255 |
int | 4بایت | -2147483648 تا 2147483648 |
unsigned int | 4بایت | 0 تا 4294967295 |
signed int | 4بایت | -2147483648 تا 2147483648 |
short int | 2بایت | -32768 تا 32768 |
unsigned short int | متغیر | 0 تا 65,535 |
signed short int | متغیر | -32768 تا 32768 |
long int | 4بایت | -2,147,483,648 تا 2,147,483,648 |
signed long int | 4بایت | -2,147,483,648 تا 2,147,483,648 |
unsigned long int | 4بایت | 0 تا 4,294,967,295 |
float | 4بایت | دقت تقریبی 7 رقم |
double | 8بایت | دقت تقریبی 15 رقم |
long double | 8بایت | دقت تقریبی 15 رقم |
wchar_t | 2 یا 4 بایت | 1 wide character |
خوب، مقادیر ذکر شده در بالا، به نسبت کامپایلر و پردازنده شما(32 یا 65 بیتی) ممکنه متغیر باشه، اگر نیاز داشته باشید، میتونید به شکل زیر، مقدار دقیق هر دیتاتایپ رو متناسب با کامپایلرتون به دست بیارید
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <iostream> using namespace std; int main() { cout << "Size of char : " << sizeof(char) << endl; cout << "Size of int : " << sizeof(int) << endl; cout << "Size of short int : " << sizeof(short int) << endl; cout << "Size of long int : " << sizeof(long int) << endl; cout << "Size of float : " << sizeof(float) << endl; cout << "Size of double : " << sizeof(double) << endl; cout << "Size of wchar_t : " << sizeof(wchar_t) << endl; return 0; } |
و خروجی به شکل زیر خواهد بود(برای سیستم من):
1 2 3 4 5 6 7 |
Size of char : 1 Size of int : 4 Size of short int : 2 Size of long int : 4 Size of float : 4 Size of double : 8 Size of wchar_t : 4 |
امیدوارم از این مقاله استفاده کنید و مطالب رو به خوبی فرا بگیرید
نظرات و سوالاتتون رو حتما در قسمت نظرات، مطرح کنید