Razryadli amallar - Информатика

217
ko`rinishiga qo`llaniladi. N nechta pozitsiyaga siljitish kerakligini ko`rsatadi.
Chapga
N pozitsiyaga surish, ya`ni 5<<0=5 , 5<<1 =10, 5<<2=20 mos keladi.
Agar operand musbat bo`lsa N pozitsiyaga o`ngga surish chap operandni
ikkining N chi darajasiga bo`lib kasr qismini tashlab yuborishga mosdir.
Misol
uchun 5>>2=1. Bu amalning bitli ko`rinishi 101>>2=001=1. Agarda operand
qiymati manfiy bo`lsa ikki variant mavjuddir: arifmetik siljitishda bo`shatilayotgan
razryadlar ishora razryadi qiymati bilan to`ldiriladi,
mantiqiy siljitishda
bo`shatilayotgan razryadlar nollar bilan to`ldiriladi.
Razryadli surish amallarining ustivorligi o`zaro teng, razryadli inkor
amalidan past, qolgan razryadli amallardan yuqoridir. Razryadli inkor amali unar
qolgan amallar binar amallarga kiradi.
Nisbat amallari. Nisbat amallari qiymatlari 1 ga teng agar nisbat bajarilsa va
aksincha 0 ga tengdir. Nisbat amallari arifmetik
tipdagi operandlarga yoki
ko`rsatkichlarga qo`llaniladi. Masalan,
1!=0 qiymati 1 ga teng;
1==0 qiymati 0 ga teng;
3>=3 qiymati 1 ga teng;
3>3 qiymati 0 ga teng;
2<=2 qiymati 1 ga teng;
2<2 qiymati 0 ga teng;
Katta [>], kichik [<], katta yoki teng [>=], kichik yoki teng [<=]
amallarining ustivorligi bir xildir.
Teng [== ]va teng emas [!=] amallarining ustivorligi o`zaro teng va qolgan
amallardan pastdir.
Mantiqiy amallar. Mantiqiy amallar asosan butun sonlarga qo`llanadi. Bu
amallarning natijalari qo`yidagicha aniqlanadi:
x||y amali 1 ga teng agar x>0 yoki y>0 bo`lsa, aksincha 0 ga teng
x&&y amali 1 ga teng agar x>0 va y>0 bo`lsa, aksincha 0 ga teng
!x amali 1 ga teng agar x>0 bo`lsa, aksincha 0 ga teng
218
Bu misollarda amallar ustivorligi oshib borish tartibida berilgandir. Inkor [!] amali
unar qolganlari binar amallardir.
Qiymat berish amali. Qiymat berish amali [=] binar amal bo`lib chap
operandni odatda o`zgaruvchi o`ng operandi odatda ifodaga teng bo`ladi. Masalan,
Z=4.7+3.34;
Bitta ifodada bir necha qiymat berish amallari qo`llanilishi mumkin.
Masalan, C=y=f=4.2+2.8;.
Bundan tashqari C ++ tili da murakkab qiymat berish amali mavjud bo`lib,
umumiy ko`rinishi quyidagichadir:
O`zgaruvchi_nomi amal= ifoda;
Bu yerda amal quyidagi amallardan biri bo`lishi mumkin: *,/,%,+,-, &,^,|, <<,>>.
Masalan,
X+=4 ifoda x=x+4 ifodaga teng kuchlidir;
X*=a ifoda x=x*a
ifodaga teng kuchlidir;
X/=a+b ifoda x=x/(a+b) ifodaga teng kuchlidir;
X>>=4 ifoda x=x>>4 ifodaga teng kuchlidir;
Imlo belgilari amal sifatida. C ++ tilida ba`zi
bir imlo belgilari ham amal
sifatida ishlatilishi mumkin. Bu belgilardan oddiy () va kvadrat [] qavslardir.
Oddiy qavslar binar amal deb qaralib ifodalarda yoki funksiyaga murojat qilishda
foydalaniladi. Funksiyaga murojat qilish qo`yidagi shaklda amalga oshiriladi:
(). Masalan, sin(x) yoki max(a,b).
Kvadrat qavslardan massivlarga murojaat qilishda foydalaniladi. Bu
murojaat quyidagicha amalga oshiriladi: []. Masalan,
a[5] yoki b[n][m].
Vergul simvolini ajratuvchi belgi deb ham qarash mumkin amal sifatida ham
qarash mumkin. Vergul bilan ajratilgan amallar ketma-ketligi bir amal deb qaralib,
chapdan o`ngga hisoblanadi va oxirgi ifoda qiymati natija deb qaraladi. Masalan,
d=4,d+2 amali natijasi 8 ga teng.
2>1>