زبان برنامه نویسی سی/متغیرها: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۱۲۱:
! بازه عددی !! حجم اشغال شده ( به بایت ) !! نوع داده
|-
| -32,768
|-
| 0 تا 65,535 || 2 || unsigned short , unsigned short int , unsigned int
|-
| -2,147,483,648
|-
| 0 تا 4,294,967,295 || 8 || unsigned long , unsigned long int
|-
| -9,223,372,036,854,775,808
|-
| 0 تا 18,446,744,073,709,551,615 || 16 || unsigned long long , unsigned long long int
|-
|
|-
|
|-
|
|}
{{پایان چپچین}}
متغیر هایی که از نوع اعشاری هستند ، همانطور که از اسمشان پیداست ؛ جهت ذخیره اعداد اعشاری به کار می روند . بنابراین اگر قصد ایجاد یک عدد اعشاری را ندارید ، بیهوده از آنها استفاده ننمائید و تنها زمانی دست به ایجاد متغیر هایی از نوع عدد اعشاری بزنید که به آنها نیاز داشته باشید ، آن هم دقیقاً متناسب با مقدار مورد نیاز خود . متغیر های float دقت کم تری نسب به double و در نهایت نسبت به long double دارند .
دقت کنید که برخی کامپایلر های قدیمی نوع داده long long یا همان long long int را به رسمیت نمی شناسند و یا حتی long double را ، ابتدا از به رسمیت شناخته شدن این نوع داده ها توسط کامپایلر خود ، پیش از استفاده از آنها ، اطمینان حاصل نمائید . همچنین به صورت اختیاری برخی کامپایلر ها از نوع داده long long double پشتیبانی می نمایند که می تواند در محیط آن کامپایلر ها از این نوع داده استفاده نمائید ، اما یک نوع داده استاندارد نیست .
کاملاً دقت داشته باشید که انواع داده ای float و double و long double به صورت پیش فرض علامت دار هستند و بازه عددی آنها در کوچک ترین و بزرگ ترین اعدادی که می توانند ذخیره کنند را در جدول نوشتیم که همین مقدار با قوانینی که بیان گردید در بازه اعداد مثبت نیز قرار می گیرد و شما نمی توانید آنها را بر خلاف نوع داده ای مثل int بدون علامت نمائید .
حتی اگر مبانی ریاضیات را به خوبی می دانید بدنیست ، به استاندارد تعریف شده اعداد اعشاری توسط مؤسسه مهندسان برق و الکترونیک رجوع کنید تا بهتر از نحوه پردازش و ذخیره اعداد اعشاری در رایانه آگاه شوید :
https://en.wikipedia.org/wiki/IEEE_floating_point
=== متغیر های کاراکتری ===
به واسطه استفاده از کلیدواژه char شما مجاز و مجبور به استفاده از یک داده کاراکتری در متن برنامه سی خود هستید . همانند متغیر های عددی ، متغیر کاراکتری نیز باید یک نام داشته باشد و شما می توانید اول آن را اعلان کرده و سپس تعریف نمائید . ولی در داخل هر داده کاراکتر تنها یک کاراکتر که می تواند هر کدام از کاراکتر های ANSI مطابق با استاندارد 98/99 باشد و مطابق با آخرین استاندارد زبان سی یعنی C11 شما می توانید هر کدام از کاراکتر های Unicode را ذخیره نمائید . اما اکثر کامپایلر ها ، هنوز با آخرین استاندارد سی ، به روز رسانی نشده اند . هر کاراکتری را که میخواهید در متغیر خود ذخیره نمائید باید داخل دو علامت سینگل کوت قرار دهید . مانند : '0' یا 'A' یا '*' که هر کدام یک کاراکتر از کاراکتر های کاراکترست ANSI هستند . کاراکترست های بسیاری موجود هستند که در ابتدای کتاب نیز بدین مبحت اشاره نمودیم . اما شما برای کار با زبان سی باید تا به صورت مطلوبی به کاراکترست ANSI مسلط باشید . ANSI نام مستعار کاراکترست اسکی موسسه استاندارد سازی آمریکاست ، بنابراین نام اصلی آن ASCII می باشد که دارای 128 کاراکتر می باشد .
در هر کاراکترست ، مقدار متناظر کاراکتری برای هر مقدار باینری موجود می باشد . بنابراین زمانی که شما کاراکتر عدد هشت را به صورت '8' در داخل یک متغیر کاراکتری ذخیره می نمائید ، مقدار آن 56 خواهد بود و نه 8 . یعنی زمانی که شما با اعداد کار می کنید ، واسطه ای در کار نیست و عدد 8 شما اگر مبنای 10 ذخیره و پردازش گردد ، همان 8 است . اما زمانی که می خواهید کاراکتر 8 را در یک متغیر کاراکتری ذخیره نمائید ، این مقدار یک عدد نیست بلکه به مثابه یک حرف و به عبارت بهتر یک کاراکتر است که در درون متغیر ذخیره می گردد .
نوع داده کاراکتری به شما کمک می کند تا در مواقعی که نیاز به نوشتن و خواندن متن در برنامه خود دارید از اتلاف وقت جلوگیری گردد . در صورت عدم وجود این نوع داده شما خودتان موظف بودید تا متون را به مقادیر عددی بنویسید و وارد کنید و در نهایت تحویل بگیرید . نحوه ایجاد یک کاراکتر :
{{چپچین}}
<source lang="C#">
char word = 'W';
</source>
{{پایان چپچین}}
از آنجایی که هنوز با مبحث اشاره گر ها آشنا نشده ایم نمی توانیم مبحث را خلط کنیم ، اما اگر مشتاقید تا بدانید که چگونه می توان متونی را که مطمئناً بیش از یک کاراکتر هستند در سی استفاده نمود ؛ باید بگوئیم که با استفاده از ترفند اشاره گر و اضافه نمودن آن به تعریف کارکتر در برنامه خود می توانیم ، متونی را که حتماً به یاد دارید به آنها رشته می گوئیم ، ذخیره و مورد پردازش قرار داد .
[[رده:زبان برنامه نویسی سی]]
|