Amaliy mashg`ulot uchun Mundarija


Download 0.8 Mb.
bet12/56
Sana18.09.2023
Hajmi0.8 Mb.
#1680455
1   ...   8   9   10   11   12   13   14   15   ...   56
Bog'liq
Amaliy mashgulot sanoq sistema

Shift operatsiyalari
Shift operatsiyalari raqamlarning raqamlari bo'yicha ham amalga oshiriladi. Shift o'ngga va chapga qarab sodir bo'lishi mumkin.
x << y - x sonini y raqamlari bilan chapga siljitadi. Masalan, 4<<1 4 sonini (ikkilikda 100 ga teng) bir joyga chapga siljitadi, ya’ni natija o‘nlik sonda 1000 yoki 8 ga teng.
x >> y - x sonini o‘ngga y raqamlari bilan siljitadi. Masalan, 16 >> 1 16 raqamini (ikkilikda 10000 ga teng) bitta raqamni o'ngga siljitadi, ya'ni o'nlik sonda 1000 yoki 8 bilan tugaydi.
Shunday qilib, agar bir tomonga yoki ikkinchisiga siljitish kerak bo'lgan asl son ikkiga bo'linadigan bo'lsa, unda aslida ikkiga ko'paytish yoki bo'linish olinadi. Shuning uchun to'g'ridan-to'g'ri ko'paytirish yoki ikkiga bo'lishning o'rniga shunga o'xshash operatsiyadan foydalanish mumkin.
O`zlashtirish operatsiyalar.
O`zlashtirish operatsiyalari qiymatni belgilaydi. Belgilash operatsiyalarida ikkita operand ishtirok etadi va chap operand faqat o'zgartirilgan nomlangan ifodani, masalan o'zgaruvchini aks ettirishi mumkin.
Ko'p boshqa dasturlash tillarida bo'lgani kabi, C # da asosiy operatsion operatori mavjud bo'lib, u o'ng operandning qiymatini chap operandga beradi:
int raqami = 23;
Bu yerda number ga 23 raqami beriladi. number o'zgaruvchisi chap operandni ifodalaydi, unga 23 ga teng bo'lgan o'ng operandning qiymati beriladi. Siz bir vaqtning o'zida bir nechta o'zgaruvchiga bir nechta topshiriqlarni bajarishingiz mumkin:
int a, b, c;
a = b = c = 34;
Shuni ta'kidlash kerakki, o`zlashtirishlarni bajarish operatsiyalari birinchi o'ringa ega. Va avval o'ng operandning qiymati hisoblanadi va shundan keyingina bu qiymat chap operandga beriladi. Masalan:
int a, b, c;
a = b = c = 34 * 2/4; // 17
Dastlab 34 * 2/4 ifodasi hisoblab chiqiladi, so'ngra olingan qiymat o'zgaruvchilarga beriladi.
Asosiy o`zlashtirish operatsiyasidan tashqari C # boshqa bir qator operatsiyalarga ega:
+ =: qo'shilgandan keyin o`zlashtirish. Chap operandni chap va o'ng operandlar yig'indisiga belgilaydi: A + = B va A = A + B bilan bir xil.

- =: ayirishdan keyingi o`zlashtirish. Chap operandga chap va o'ng operandlar orasidagi farqni belgilaydi: A - = B va A = A - B ga teng


* =: ko'paytirishdan keyin o`zlashtirish. Chap operandni chap va o'ng operandalar ko'paytmasiga beradi: A * = B va A = A * B ga teng


/ =: bo'linishdan keyin o`zlashtirish. Chap operandga chap va o'ng operandlar miqdorini belgilaydi: A / = B va A = A / B ga teng


% =: modulga bo'linishdan keyingi o`zlashtirish. Chap operandni chap operandning butun bo'linishining qolgan qismini o'ng tomonga belgilaydi: A% = B va A = A% B ga teng
& =: razrayadli mantiqiy ko`paytirishdan keyin o`zlashtirish. Chap operandni uning bitli tasvirining bitli tasviri bilan o'ng operandining bitli tasviri bilan birikmasining natijasini tayinlaydi: A & = B va A = A & B ga teng.
| =: razryadli dizyunktsiyadan keyin o`zlashtirish. Chap operandni o'ng operandning bitli tasviri bilan uning bitli tasvirining razryadli ajratish natijasini o`zlashtiradi: A | = B va A = A | B ga teng.
^ =: razraydli qo`shish. Yoki operatsiyasi dan keyingi topshiriq. Chap operandni tashqi YOKI natijasini, o'ng operandning razryadli tasvirlash bilan razryadnini ko'rsatishi bilan o`zlashtirish: A ^ = B va A = A ^ B ga teng
<< =: razryadlarni chap tomonga o'tkazgandan keyin o`zlashtirish. Chap operandni uning bitli tasvirini chap tomonga, o'ng operandning qiymatiga teng, belgilangan bitlar soniga o'tkazadi: A << = B va A = A << B ga teng
>>=: bitlarni o'ngga siljitishdan keyin o`zlashtirish. Chap operandni bit operatsiyaning qiymatiga teng bo'lgan razryadli sonini ko'rsatilishini bitga o'ngga siljitish natijasini o`zlashtiradi: A >> = B va A = A >> B ga teng

O`zlashtirish operatsiyalarini qo'llash:


int a = 10;
a + = 10; // 20
a - = 4; // 16
a * = 2; // 32
a / = 8; // 4
a << = 4; // 64
a >> = 2; // 16
O`zlashtirish operatsiyalari o'ng assotsiativdir, ya'ni ular o'ngdan chapga qarab amalga oshiriladi. Masalan:
int a = 8;
int b = 6;
int c = a + = b - = 5; // 9
Bunday holda, ifoda quyidagicha bajariladi:
1. b - = 5 (6-5 = 1)
2. a + = (b- = 5) (8 + 1 = 9)
3. c = (a + = (b- = 5)) (c = 9)

Download 0.8 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   56




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