قالب وردپرس افزونه وردپرس
خانه / دوره آموزش مقدماتی C و ++C / قسمت پنجم آموزش C – تبدیل انواع

قسمت پنجم آموزش C – تبدیل انواع

با سلام خدمت شما دوستان و همراهان همیشگی میکـروپـدیا !

با قسمت پنجم از آموزش زبان C و ++C در خدمت شما هستیم و قصد داریم در این قسمت تبدیل انواع متغیرها را همراه هم بیاموزیم .

وقتی که متغیرهای با نوع های مختلف در یک عبارت با یکدیگر ترکیب می شوند باید تبدیل نوع صورت گیرد . قاعده کلی این است که نوع های با طول کوچک تر به نوع هایی با طول بزرگتر تبدیل می شوند . مثلا اگر دو متغیر از نوع کاراکتری و عددی صحیح با یکدیگر ترکیب شوند ، نوع کاراکتری به عددی صحیح تبدیل می شود .

; char ch
; int i
; float f
; double d
; ( result = ( ch/i ) + ( f*d ( – ) f+i

همان طور که از مثال ۱ پیداست ، نوع نتیجه double خواهد بود . علاوه بر تبدیل انواع در عبارات ، در احکام انتساب نیز ممکن است تبدیل انواع صورت گیرد . در تبدیل انواع اطلاعاتی از بین می روند که باید در نتیجه حاصل از احکام انتساب دقت کافی به خرج داد. در ذیل تبدیل انواع در احکام انتساب مشاهده می شود :

; int x
; char ch
; float f
; ch= x
; x= f
; f= ch
; f= x

کلیه احکام انتساب فوق قابل انجام بوده و از طرف کامپایلر زبان C هیچ گونه خطایی گزارش نمی شود . اطلاعاتی که ممکن است در تبدیل انواع از بین بروند . درزیر آمده است .

نوع منبع | نوع مقصد | اطلاعاتی که ممکن است از بین برود 

| signed char | char | اگر مقدار بزرگتر از۱۲۷ باشد مقصد منفی خواهد شد
| short | char | هشت بیت با ارزش
| int | char | هشت بیت با ارزش
| long int | int َ| شانزده بیت با ارزش
| float | int | قسمت کسری یا بیشتر و نتیجه حاصل گرد می شود
| double | float | قسمت کسری و یا بیشتر و نتیجه حاصل گرد می شود

دو نکته را باید در مورد تبدیل انواع  به خاطر داشته باشیم :

۱ – بعضی از تبدیل انواع در جدول فوق وجود ندارد مثل double به int . در این موارد می توان double را به float تبدیل کرده و سپس float را به int تبدیل نمود.
۲ – وقتی نوع بزرگتری به نوع کوچکتری انتساب داده می شود . قسمتی از اطلاعات از دست می روند . همان طور که می دانیم ، معمولا اعداد صحیح (int) در ۲ بایت و
اطلاعات از نوع char در یک بابت ذخیره می شوند.

بایت کم ارزش بایت باارزش


وقتی یک متغیر int به یک متغیر char انتساب داده می شود بایت کم ارزش متغیر از نوع int به متغیر char منتقل شده ولی با ارزش متغیر int در متغیر char جایی میگوییم در انتساب متغیرint به char ، ۸، بیت با ارزش از دست میرود.

درباره ی آریـان پــور

سلام . آریــان پور هستم . از نویسندگان میکروپـدیا .. علاقه مــند به برنامه نویسی و طراحی وب و شبکه ! دیدگاه ها و نظرات شما دوستان بررسی میشه و باعث دلگرمـی برای نوشتن مطالب بهتر و به روزتر . در تماس باشید با : aryanpour [at] micropedia [dot] ir با مـا همراه باشید ..

مطلب پیشنهادی

قسمت بیست و چهارم آموزش C – عملگرهای اشاره گر

این جلسه بسیار ساده و کوتاه خواهد بود. دو عملگر در مورد اشاره گرها مورد …

یک دیدگاه

  1. با سلام و خسته نباشید:

    نمی دونم با چه زبانی از شما بزرگوار تشکر کنم، من کاردان مدارک پزشکی هستم که در کارشناسی ناپیوسته مهندسی نرم افزار در حال تحصیلم ( دانشگاه آزاد) چون علاقه زیادی به برنامه نویسی و … داشتم تو این رشته رفتم، از آنجائیکه رشته کاردانیم نامرتبط بود (در نتیجه منابعی در دسترس نداشتم ) یادگیریم وقت گیر شده بود تا اینکه به صورت اتفاقی با سایت شما آشنا شدم ،مطالب کامل و روان شما خیلی از اشکالات درسی منو (در سریعترین زمان ممکن حل کرد)، از اینکه صادقانه گفتید که مثالاتون برگرفته از کتاب دایتل و دایتل است خیلی از صداقتتون خوشم اومد، موفق هستید موفق تر باشید ان شا الله

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پاسخ عبارت زیر را وارد کنید: *