انواع داده ها در C

تعریف انواع داده در سی

              نوع داده ها     کلمه کلیدی       میزان حافظه      بازه مورد استفاده
صحیح INT دوبایت 32768-تا32767
کارکتری CHART یک بایت 225تا0ویا127تا-128
اعشاری FIOAT چهاربایت اعداد اعشاری ممیزشناور
دقت مضاعف DOUBLE هشت بایت اعداد اعشاری بزرگ بادقت بالا
هیچ مقداری VOID برای توابعی که مقداربرنمیگردانند

 

 

مثال

Void main()

{

int a ,b=7,c;

Float   f,char  ch;

Ch=’A’;→ ch=65

Ch=100;

Ch=’1’+2; → 49+2

}

نکته:

C متغییر ها را مقداردهی اولیه نمی کند پس قبل از استفاده باید درآن مقدار اولیه را بریزم .اگر داشته باشیم ch از نوع کارکتر آنوقت ch=300 آنگاه 300بصورت زیر برمبنای دو می رود

 (100101100 )2

 

حالا سمت چپ ترین بیت دو ریخته می شود وبقیه مقدار chخواهد بود

Ch=(00101100)

پس در cمتغییر ها کنترل نمی شود.

در دستور انتساب ابتدا متغیر باینری سمت راست محاسبه می شود .سپس ارقام به ترتیب از سمت راست به چپ در بیت های متغییر قرار داده می شود وارقام اضافی دور ریخته می شود.

ذخیره سازی اعداد منفی :(متمم2)

10+ =(00001010)

برای پیدا کردن 10- متمم 2 می گیریم

11110110 →-10

در متغییرهای علامتدار سمت چپ ترین بیت،بیت علامت است.

در اعدادمنفی این بیت یک ودر اعداد مثبت صفر است.

مثال:در بیت علامت دار زیر چه مقداری ذخیره شده است؟

(11100101)

چون سمت چپ یک است متمم می گیریم.

(000011011)2→+27

عدد 27-ذخیره شده است.

مثال:

در بیت زیر چه مقداری ذخیره شده است ؟

11000110  ← علامتدار 58- بدون علامت 198+،

متغییرهای بدون علامت :در این متغییرها بیت علامت وجود ندارد وکلیه بیت های متغییرها برای ذخیره کردن عدد استفاده می شود .برای معرفی متغییرهای بدون علامت از کلمه کلیدی unsignedاستفاده می نمائیم.

;نام نوع متغییر                           Unsigned

Void main()

{

Unsigned    char a;

Unsigned      int  b;

A=-1;   →(11111111)2→225

B=-1;→(11111….111)3→65535

}

مثال:

Void main ()

}

Char ch;

Ch=100;

Ch=ch+100;→ch=(100)10

}

دیدگاه ها بسته شده است