B. J. Boltayev, A. R. Azamatov, G. A. Azamatova, B. S. Xurramov nazariya, algoritm, dastur toshkent 2013
binar amallar deb ataladi. Unar
Download 372.89 Kb.
|
Algoritmlash va dasturlash asoslari seriyasidan Kitob – II b. J.-fayllar.org
- Bu sahifa navigatsiya:
- Amal Vazifasi Operandlar turi Natija turi
binar amallar deb ataladi.
Unar amallarga quyidagilar kiradi: not (mantiqiy yoki razryad bo‘yicha inkor), + (plyus, ya’ni ishorani saqlab qolish), – (minus, ya’ni ishorani al- mashtirish), in (biror qiymatni to‘plamga tegishliligini aniqlash), @ (ixtiyoriy op- erandga qo‘laniladi va natija operand adresi bo‘ladi). Boshqa barcha arifmetik, mantiqiy, taqqoslash, razryadi bo‘yicha va to‘plamlarga ta’sir amallari binar amallardir. 37
qo‘llaniladi: Guruh nomi Bajarilish tartibi Amal Unar 1 not, @, – Multiplikativ 2 *, /, div, mod, and, shl , shr Additiv 3 +, or, xor Munosabat 4 in, =, <>, >, >=, <, <= Agar biror amal bajarilish tartibini oldinga surish kerak bo‘lsa qavs ichiga yozish yetarli. Amallarni qo‘llash qoidalari quyidagi jadvalda keltirilgan: Amal Vazifasi Operandlar turi Natija turi not Inkor Mantiqiy Mantiqiy not Razryad bo‘yicha inkor Ixtiyoriy butun Operand turi @ Adres Ixtiyoriy Ko‘rsatkich – Ayirish Ixtiyoriy butun Butun – Ayirish Ixtiyoriy haqiqiy Haqiqiy – To‘plamlarda ayirish To‘plam To‘plam * Ko‘paytirish Ixtiyoriy butun Butun * Ko‘paytirish Ixtiyoriy haqiqiy Haqiqiy * To‘plamlarni kesishtirish To‘plam To‘plam / Bo‘lish Ixtiyoriy haqiqiy Haqiqiy div Butun bo‘lish Ixtiyoriy butun Butun mod Bo‘lishdagi qoldiq Ixtiyoriy butun Butun and Mantiqiy VA Mantiqiy Mantiqiy and Razryad bo‘yicha VA Ixtiyoriy butun Butun shl Chapga surish Ixtiyoriy butun Butun shr O‘ngga surish Ixtiyoriy butun Butun + Qo‘shish Ixtiyoriy butun Butun + Qo‘shish Ixtiyoriy haqiqiy Haqiqiy + Satrlarni ulash Satrli Satrli + To‘plamlarni birlashtirish To‘plam To‘plam or Mantiqiy YOKI Mantiqiy Mantiqiy or Razryad bo‘yicha YOKI Ixtiyoriy butun Butun xor Mantiqiy cheklangan YOKI Mantiqiy Mantiqiy xor Razryad bo‘yicha XOR Ixtiyoriy butun Butun in Tegishlilik To‘plam Mantiqiy = Teng Ixtiyoriy sodda, satrli, to‘plam Mantiqiy 38
Teng emas Ixtiyoriy sodda, satrli, to‘plam Mantiqiy < Kichik Ixtiyoriy sodda, satrli Mantiqiy <= Kichik yoki teng Ixtiyoriy sodda, satrli, to‘plam Mantiqiy > Katta Ixtiyoriy sodda, satrli Mantiqiy >= Katta yoki teng Ixtiyoriy sodda, satrli, to‘plam Mantiqiy Butun sonlar ustida / (bo‘lish) amali bajarish natijasi doimo haqiqiy bo‘ladi. Masalan, 15/3= 0.5000000000E+1, 1/1= 0.1000000000E+1. Shining uchun butun sonlar ustida div (butun bo‘lish) va mod (qoldiq) amallari qo‘llaniladi. Masalan: 25 div 4 = 6; 25 mod 4 = 1; 49 div 7 = 7; 49 mod 7 = 0. Butun sonlar ustidagi boshqa arifmetik amallarni qo‘llaganda ham xato natija- ga kelish mumkin. Bu xatolik natijaviy son amal bajarilayotgan turning che- garaviy qiymatlaridan chiqib ketishi oqibatida yuzaga keladi. Masalan, byte turida 255+1= 0, 10–12= 254, 100*10=232, chunki byte turining qiymatlari 0..255 oraliqqa tegishli. Taqqoslash amallari, agar turlar mos kelsa (sonliga sonli, …), taqqoslash shar- ti bajarilsa True mantiqiy qiymat, aks holda False mantiqiy qiymat hosil qiladi. Masalan, 5<6 shartning natijasi True, 5<=6 shartning natijasi True, 5=6 shartning natijasi False, 5>=6 shartning natijasi False, 5>6 shartning natijasi False, 5<>6 shartning natijasi True. Mantiqiy amallar butun hamda mantiqiy turlarga qo‘llanishi mumkin. Agar operandlar butun son bo‘lsa, u holda natija ham butun bo‘ladi, bunda natijaning bitlari (ikkilik razryadi) operandlar bitlaridan quyidagilarga asosan hosil qilinadi: INTEGER turdagi operandlar ustidagi mantiqiy amallar (razryadi bo‘yicha) 1-operand 2-operand not and or xor 1 – 0 – – – 0 – 1 – – – 1 1 – 1 1 0 1 0 – 0 1 1 0 1 – 0 1 1 0 0 – 0 0 0 Mantiqiy turdagi operandlar ustida amallar quyidagicha amalga oshiriladi: Mantiqiy turdagi operandlar ustidagi mantiqiy amallar
39
False – False True True False True – False True True False False – False False False Quyidagi misollar razryadi bo‘yicha surish amallari ishini izohlaydi (N va M operandlar ixtiyoriy butun turda bo‘lishi mumkin): a) N shl M – bu amal ishi N dagi ma’lumotni M razryad chapga surish, bo‘sh qolgan kichik razryadlar 0 bilan to‘ldiriladi, masalan: 4 shl 2 = 16 (0...0100 0…010000), 6 shl 2 = 24 (0...0110 0…011000); b) N shr M – bu amal ishi N dagi ma’lumotni M razryad o‘ngga surish, bo‘sh qolgan katta razryadlar 0 bilan to‘ldiriladi, masalan: 4 shr 2 =1 (0…0100 0…01), 6 shl 2 =1 (0...0110 0…01); d) not N – bu amal ishi N dagi ma’lumotni razryad bo‘yicha mantiqan inkor etish, ya’ni har bir razryaddagi 1 ni 0 ga, 0 ni 1 ga almashtiradi, masalan: not 4 = – 5 (not (0…0100) 1…1011), not 11 = –12 (not (0…01011) 1…10100). e) N and M – bu amal N dagi ma’lumotni M dagi ma’lumot bilan razryad bo‘yicha mantiqan ko‘paytiradi, masalan: 4 and 2 =0 ((0…0100) and (0…0010) 0…0000), 6 and 2 = 10 ((0…0110) and (0…0010) 0…0010), 11 and 7 = 3 ((0…01011) and (0…0111) 0…0011); f) N or M – bu amal N dagi ma’lumotni M dagi ma’lumot bilan razryad bo‘yicha mantiqan qo‘shadi, masalan: 4 or 2 = 6 ((0…0100) or (0…0010) 0…0110), 6 or 2 = 6 ((0…0110) or (0…0010) 0…0110), 11 or 7 = 15 ((0…01011) or (0…0111) 0…1111); g) N xor M – bu amal N dagi ma’lumotni M dagi ma’lumot bilan razryad bo‘yicha o‘xshashlikni inkor etadi, masalan: 4 xor 2 = 6 ((0…0100) xor (0…0010) 0…0110), 6 xor 2 = 4 ((0…0110) xor (0…0010) 0…0100), 11 xor 7 = 12 ((0…01011) xor (0…0111) 0…1100). Satrlar ustidagi amallarni quyidagicha izohlash mumkin: A) S1+S2 – bu amal S1 va S2 satrlarni kelish tartibi bo‘yicha ulaydi, masalan: S1=‘A‘, S2=‘da‘ bo‘lsa, natijaviy satr ‘Ada‘, S1=‘AAAA…A‘ (‘A‘ dan 250 ta), S2=‘BB…B‘(‘B‘ dan 100 ta) bo‘lsa, natijaviy satr ‘AAAA…ABBBBB‘ (‘A‘ dan 250 ta va ‘B‘ dan 5 ta, ya’ni 255 baytdan ortgan xotiraga sig‘may qolgan ‘B‘ lar tashlab yuboriladi); B) S1 = S2 – satrlar teng bo‘lsa, ya’ni ular ustma-ust tushsa True, aks holda False mantiqiy qiymat hosil qiladi, masalan: ‘AdA‘=‘AdA‘ yoki ‘ ‘=‘ ‘ yoki ‘2107‘=‘2107‘ bo‘lsa natija True, ‘ADA‘=‘AdA‘ yoki ‘000‘=‘00‘ bo‘lsa natija False; D) S1 <> S2 – satrlar teng bo‘lmasa, ya’ni ulardagi belgilar soni teng bo‘lmasa yoki belgilar soni teng bo‘la turib biror teng tartib raqamli o‘rindagi bel- gilari farqlansa True, aks holda False mantiqiy qiymat hosil qiladi, masalan: ‘AdA‘<>‘Ad‘ yoki ‘AdA‘<>‘AAd‘ yoki ‘AdA‘<>‘Adb‘ yoki ‘AdA‘<>‘Ada‘ yoki ‘001‘<>‘01‘ yoki ‘10‘<>‘01‘ bo‘lsa natija True, ‘AdA‘<>‘AdA‘ yoki 40
E) S1ASCII kodi S2 ni 1-belgisi ASCII kodidan kichik bo‘lsa, yoki ikkala satrning 1- belgilari ASCII kodi teng hamda S1 ni 2-belgisi ASCII kodi S2 ni 2-belgisi ASCII kodidan kichik bo‘lsa, yoki ikkala satrning 1-belgilari ASCII kodi teng va 2- belgilari ASCII kodi teng hamda S1 ni 3-belgisi ASCII kodi S2 ni 3-belgisi ASCII kodidan kichik bo‘lsa, …, yoki biror k uchun ikkala satrning k gacha bo‘lgan, mos ravishda, har bir o‘rindagi belgilari ASCII kodi teng hamda S1 ni (k+1)-belgisi ASCII kodi S2 ni (k+1)-belgisi ASCII kodidan kichik bo‘lsa, u holda True, aks holda False mantiqiy qiymat qabul qiladi, masalan: ‘A‘<‘a‘ yoki ‘Ab‘<‘a‘ yoki ‘ABCD‘<‘AC‘ yoki ‘‘<‘ ‘ yoki ‘ABCDEFGH‘<‘B‘ yoki ‘19‘<‘20‘ yoki ‘00222‘<‘010‘ amallar natijasi True, ‘A‘<‘A‘ yoki ‘Ab‘<‘A‘ yoki ‘Ab‘<‘AB‘ yo- ki ‘ABCdDEFGH‘<‘ABCDefgh‘ yoki ‘31‘<‘2100‘ yoki ‘1‘<‘0999‘ amallar na- tijasi False; F) S1<=S2 – bu amal S1 satr S2 satrdan “kichik yoki teng” bo‘lsa, ya’ni S1 ni 1-belgisi ASCII kodi S2 ni 1-belgisi ASCII kodidan kichik yoki teng bo‘lsa, yoki ikkala satrning 1-belgilari ASCII kodi teng hamda S1 ni 2-belgisi ASCII kodi S2 ni 2-belgisi ASCII kodidan kichik yoki teng bo‘lsa, yoki ikkala satrning 1- belgilari ASCII kodi teng va 2-belgilari ASCII kodi teng hamda S1 ni 3-belgisi ASCII kodi S2 ni 3-belgisi ASCII kodidan kichik yoki teng bo‘lsa, …, yoki biror k uchun ikkala satrning k gacha bo‘lgan, mos ravishda, har bir o‘rindagi belgilari ASCII kodi teng hamda S1 ni (k+1)-belgisi ASCII kodi S2 ni (k+1)-belgisi ASCII kodidan kichik yoki teng bo‘lsa, u holda True, aks holda False mantiqiy qiymat qabul qiladi, masalan: ‘A‘<=‘a‘ yoki ‘A‘<=‘A‘ yoki ‘Ab‘<=‘a‘ yoki ‘ABD‘<=‘AC‘ yoki ‘‘<=‘ ‘yoki ‘ ‘<=‘ ‘ yoki ‘ABCDEF‘<=‘B‘ yoki ‘ABCD‘<=‘ABCD‘ yoki ‘20‘<=‘20‘ yoki ‘19‘<=‘20‘ yoki ‘00222‘<=‘010‘ amal- lar natijasi True, ‘a‘<=‘A‘ yoki ‘A ‘<=‘A‘ yoki ‘Ab‘<=‘AB‘ yoki ‘ABCdDEFGH‘<=‘ABCDefgh‘ yoki ‘3000‘<=‘2100‘ yoki ‘1‘<‘0999‘ amallar natijasi False; H) S1>S2 amali E) holda, S1>=S2 amali F) holda S1 va S2 larni o‘rnini al- mashtirgandagi holga teng kuchli. 6> Download 372.89 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling