• Oshkor konversiyalar.
  • Oshkor va oshkormas turga keltirish




    Download 1.21 Mb.
    Pdf ko'rish
    bet3/4
    Sana03.04.2023
    Hajmi1.21 Mb.
    #48522
    1   2   3   4
    Bog'liq
    4-Maruza Berilganlar turlari
    ID.UZ.PASSWORD, odil, 1- KLASSTER, 7 sinf xaiqiysi kanspeki, Rus tili A, 55568
    Oshkor va oshkormas turga keltirish.
    Yashirin konversiyalar.
    Konversiyani kengaytirishda kompilyator biz uchun barcha
    ma'lumotlarni o'zgartirishni amalga oshirdi, ya'ni konversiyalar
    yopiq
    (konvertatsiya
    qilingan
    konversiya)
    edi.
    Bunday
    transformatsiyalar
    hech
    qanday
    qiyinchilik
    tug'dirmaydi.
    Shunga qaramay, bunday o'zgarishlarning umumiy mexanikasi
    haqida bir necha so'z aytishga arziydi.
    Agar konvertatsiya bit chuqurligi past bo'lgan belgisiz turdan
    katta bit kengligi bo'lgan belgisiz turga o'tkazilsa, u holda 0
    qiymatiga ega bo'lgan qo'shimcha bitlar qo'shiladi. Bunga nol
    kengaytma deyiladi.
    byte a = 4;
    // 0000100
    ushort b = a; // 000000000000100


    Belgisiz turga o'girilganda, bitning vakili nollar bilan
    to'ldiriladi, agar raqam musbat bo'lsa va raqam manfiy
    bo'lsa. Raqamning oxirgi raqamida bit biti mavjud - musbat
    sonlar uchun 0, manfiy sonlar uchun 1.
    Qo'shilgan bitlarga kengaytirilganda, belgi biti siqiladi.
    Musbat sonni o'zgartirishni o'ylab ko'ring:
    sbyte a = 4;
    // 0000100
    short b = a;
    // 000000000000100


    Manfiy sonni aylantirish:
    sbyte a = -4;
    // 1111100
    short b = a;
    // 111111111111100


    Oshkor konversiyalar.
    Aniq konversiyalar bilan biz o'zimiz konversiya operatsiyasini
    (() operatsiyasini) qo'llashimiz kerak. Turni konvertatsiya
    qilish operatsiyasining mohiyati shundan iboratki, qiymatdan
    oldin berilgan qiymat aylantirilishi kerak bo'lgan tur qavs
    ichida ko'rsatiladi:
    int a = 4;
    int b = 6;
    byte c = (byte)(a+b);
    Bit chuqurligi pastroq turdan bit chuqurligi yuqoriroq turga
    konversiyani kengaytirish kompilyator tomonidan bevosita
    bajariladi. Quyidagi transformatsiyalar zanjiri bo'lishi mumkin:



    Download 1.21 Mb.
    1   2   3   4




    Download 1.21 Mb.
    Pdf ko'rish