Ma`lumot turlarini biridan ikkinchisiga o`zgartirish




Download 148.33 Kb.
bet3/5
Sana15.07.2023
Hajmi148.33 Kb.
#76765
1   2   3   4   5
Bog'liq
c# mustaqil ish Mamajonov D
awfdawesrbgsas vte rgt serg, xakerlar haqida, TTva TL 2-topshiriq, TOK, Документ Microsoft Word, Kompyuter tarmoqlari va ularning turlari, jismoniy tayyorgarlik, Web OOP, 7, Kompyuter-tarmoqlari.Z.Z.MiryusupovJ.X.Djumanov. (1), Topshiroq 1 Xasanov M, 3513-Article Text-6940-1-10-20220528, test tarmoq, Karimberdiyev H.F., MobaXterm 20.0.0.101root 20230426 115834
Ma`lumot turlarini biridan ikkinchisiga o`zgartirish.
Ma'lumotlar turlarini ko'rib chiqishda ma'lum bir turdagi qanday qiymatlarga ega bo'lishi va qancha bayt xotirani egallashi ko'rsatilgan. Oxirgi mavzuda arifmetik amallar ko'rib chiqildi. Endi har xil turdagi ma'lumotlarga qo'shish amalini qo'llaymiz:



1
2

byte a = 4;
int b = a + 70;

Operatsiya natijasi, kutilganidek, 74 raqamidir.
Ammo endi bayt tipidagi ikkita obyektga qo'shishni qo'llashga harakat qilaylik :



1
2

byte a = 4;
byte b = a + 70; // xato

Bu yerda faqat qo'shish natijasini oladigan o'zgaruvchining turi o'zgargan - int dan baytga. Biroq, dasturni kompilyatsiya qilinganda, kompilator xatolik haqida xabar beradi. Va agar Visual Studio'da ishlayonayotgan bo'lsa, muhit ikkinchi qatorni qizil chiziq bilan chizib, unda xatolik borligini ko'rsatadi. Ishlayotganda, ma'lum bir turdagi saqlashi mumkin bo'lgan qiymatlar oralig'ini hisobga olish kerak. Ammo bu holda, olinishi kutilayotgan 74 raqami bayt tipidagi qiymatlar oralig'ida, shunga qaramay, xatolik mavjud. Chunki, qo‘shish (va ayirish) operatsiyasi, agar operatsiya int dan kichik yoki unga teng bo‘lgan butun sonli ma’lumotlar turlarini (ya’ni bayt, short, int turlarini) o‘z ichiga olsa, int tipidagi qiymatni qaytaradi. Shuning uchun operatsiya natijasi a + 70 xotirada uzunligi 4 bayt bo'lgan obyekt bo'ladi. Keyin bu obyektni bayt tipiga ega bo'lgan va xotirada 1 baytni egallagan b o'zgaruvchisiga belgilashga harakat qilamiz.
Va bu vaziyatdan chiqish uchun siz turdagi konvertatsiya operatsiyasini qo'llashingiz kerak. Turni o'zgartirish operatsiyasi qavslar ichida qiymat o'zgartirilishi kerak bo'lgan turni ko'rsatishni o'z ichiga oladi:
Shunday qilib, turni o'zgartirish operatsiyasini qo'llash orqali oldingi misolni o'zgartiramiz:



1
2

byte a = 4;
byte b = (byte)(a + 70);


    1. Download 148.33 Kb.
1   2   3   4   5




Download 148.33 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Ma`lumot turlarini biridan ikkinchisiga o`zgartirish

Download 148.33 Kb.