1. Kirish. Kompyuterning apparat dasturiy ta’minoti va operatsion tizimlar. Key Point



Download 338,06 Kb.
bet36/74
Sana02.02.2022
Hajmi338,06 Kb.
#425507
1   ...   32   33   34   35   36   37   38   39   ...   74
Bog'liq
mbkjh232333232

2.8.1-raqamli turlar.
Har bir ma’lumo turi qiymatlar sohasiga ega. Kompilyator har o‘zgaruvchi va o‘zgarmasga uning turiga qarab xotiradan joy ajratadi. C++ odatiy qoidalariga ko‘ra raqamli qiymatlar, belgilar va mantiqiy qiymatlar bilan ishlaydi. Ushbu qismda raqamli qiymatlar va ular ishtirokidagi amallar bilan tanishib chiqamiz.
2.1-jadval. Raqamli turlar ro‘yxati, ularning sonli oraliq chegaralari va xotira hajmlari

Nomi

Sinonimi

Sonli oraliq

Xotira hajmi

short

short int



16-bit signed

unsigned short

unsigned short int



16-bit unsigned

int signed




32-bit

unsigned

unsigned int



32-bit unsigned

long

long int



32-bit signed

unsigned long

unsigned long int



32-bit unsigned

float


Negative range:
-3.4028235E+38 to -1.4E-45
Positive range:
1.4E-45 to 3.4028235E+38

32-bit IEEE 754

double


Negative range:
-1.7976931348623157E+308 to -4.9E-324
Positive range:
4.9E-324 to 1.7976931348623157E+308

64-bit IEEE 754

long double


Negative range:
-1.18E+4932 to -3.37E-4932
Positive range:
3.37E-4932 to 1.18E+4932
Significant decimal digits: 19

80-bit

C++ butun qiymatlarning 3ta turini qo‘llaydi: shortint va long. Har bir butun tur ikki xil xususiyat bilan keladi: ishorali va ishorasiz. Butun qiymatli sonlarning yarmini manfiy ishorali, qolgan yarmini esa nomanfiy (musbat) ishorali sonlar tashkil etadi. Ishorasiz berilgan intlarning barchasi musbat ko‘rinishda kiritiladi. Chunki, eng katta ishorali belgi olgan xotira hajmiga undan ikki karra kattaroq ishorasiz sonni yozish mumkin. Agar siz o‘zgaruvchi faqat musbat qiymat qabul qilishini bilsangiz, uni unsigned bilan e’lon qilish kerak. Misol uchun:
short inti = 2;
bu bilan bir xil:
shorti = 2;
C++ haqiqiy sonlarning uch turi bilan ishlaydi: floatdouble, va long doubledouble turi odatda float turidan ikki marta katta bo‘ladi. Shuningdek, double ikkilik aniqlikda, float esa bir birlik aniqlikda hisoblanadi. long double esa doubledan kattaroq. Ko‘pgina amaliy dasturlar uchun doubledan foydalanish ma’qulroq.
Qulaylik uchun C++  bosh faylida INT_MININT_MAXLONG_MINLONG_MAXFLT_MINFLT_MAXDBL_MIN, va DBL_MAX o‘zgarmaslarini taniydi. Bu o‘zgarmaslar dasturlashda qo‘l keladi. Quyidagi 2.5-ro‘yxatda keltirilgan dasturni ishga tushirib, o‘zgarmas qiymatlar qanday qilib kompilyator tomonidan tanilayotganini ko‘rishimiz mumkin:
2.5-ro‘yxat. LimitsDemo.cpp
1 #include
2 #include
3 using namespacestd;
4
5 intmain()
6 {
7 cout << "INT_MIN is "<< INT_MIN << endl;
8 cout << "INT_MAX is "<< INT_MAX << endl;
9 cout << "LONG_MIN is "<< LONG_MIN << endl;
10 cout << "LONG_MAX is "<< LONG_MAX << endl;
11 cout << "FLT_MIN is "<< FLT_MIN << endl;
12 cout << "FLT_MIN is "<< FLT_MAX << endl;
13 cout << "DBL_MIN is "<< DBL_MIN << endl;
14 cout << "DBL_MIN is "<< DBL_MAX << endl;
15
16 return 0;
17 }

INT_MIN is -2147483648
INT_MAX is 2147483647
LONG_MIN is -2147483648
LONG_MAX is 2147483647
FLT_MIN is 1.17549e-038
FLT_MAX is 3.40282e+038
DBL_MIN is 2.22507e-308
DBL_MAX is 1.79769e+308

Mazkur o‘zgarmaslar eski kompilyatorlar tomonidan tanilmasligi mumkin. Biz qo‘llaydigan o‘zgarmaslar kompilyatorda va kompyuterda turlicha hajmda joy egallashi mumkin. Ko‘pincha int va long bir xil hajm oladi. Ba’zi timlarda long 8 baytni oladi.
Kompyuterda tur yoki o‘zgaruvchining hajmini belgilash uchun sizeof funksiyasidan foydalanish mumkin. 2.6-ro‘yxatda intlong, va double turlarning hamda yosh va yuza o‘zgaruvchilarining kompyuterimizdagi hajmini belgilashga misol keltirilgan.
2.6-ro‘yxat. SizeDemo.cpp
1 #include
2 using namespacestd;
3
4 intmain()
5 {
6 cout << "int ning hajmi: "<< sizeof(int) << " bytes"<< endl;
7 cout << "long ning hajmi: "<< sizeof(long) << " bytes"<< endl;
8 cout << "double ning hajmi: "<< sizeof(double)
9 << " bytes"<< endl;
10
11 double yuza = 5.4;
12 cout << "yuza o‘zgaruvchi hajmi: "<< sizeof(yuza)
13 << " bytes"<< endl;
14
15 int yosh = 31;
16 cout << "yosh o‘zgaruvchi hajmi: "<< sizeof(yosh)
17 << " bytes"<< endl;
18
19 return 0;
20 }

The size of int: 4 bytes
The size of long: 4 bytes
The size of double: 8 bytes
The size of variable area: 8 bytes
The size of variable age: 4 bytes

Bu yerda sizeof(int)sizeof(long), va sizeof(double)lar (6-8-satrlar) intlong va double turlariga baytlarda, sizeof(yuza) va sizeof(yosh) lar yuza va yosh o‘zgaruvchilariga baytlarda hajm ajratayapti.
2.8.2. Raqamli literallar.
Raqamli literallar dastur qismlarida o‘zgarmas qiymat sifatida keladi. Quyidagi ko‘rsatmada 34 va 0.305 lar literallar:
inti = 34;
doublefootToMeters = 0.305;
Odatda butun turli literallar o‘nli butun son ko‘rinishda ifodalanadi. Sakkizlik butun literaldan foydalanish uchun 0 (nol)dan oldin yoziladi. Oltilik o‘lchamdagi butun literalni yozish uchun esa 0x yoki 0X ifodalari qo‘llaniladi. Masalan, quyidagi kod FFFF raqamini 65535 o‘nli son deb qabul qilsa, o‘nlikdagi 8 soni sakkizlikdagi 10 soniga tenglashtiriladi.
cout << 0xFFFF<< " "<< 010;
Oltilik, ikkilik va sakkizlik qiymatlar sanoq tizimlarida namoyon bo‘ladi.
Haqiqiy turli literallar  shakl ko‘rinishidagi ilmiy ifodalar yordamida yozilishi mumkin. Misol uchun, 123.456 uchun  va 0.0123456 uchun  shakllari o‘rinlidir. Buni dasturlash tillarida 1.23456E-[-2] kabi yozilishini dastur qiymat (natija) chiqarganda ko‘rish mumkin. Bu yerda E (yoki e) lar – eksponenta belgisi bo‘lib, katta yoki kichik harflarda yozilishi mumkin.

Download 338,06 Kb.

Do'stlaringiz bilan baham:
1   ...   32   33   34   35   36   37   38   39   ...   74




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish