C++ dasturlash tili



Yüklə 22,21 Kb.
səhifə3/3
tarix02.05.2023
ölçüsü22,21 Kb.
#107945
1   2   3
C

Arifmetik amallar.
Berilganlarni qayta ishlash uchun dasturlash tillarida amallarning juda keng majmuasi aniqlangan. Amal - bu qandaydir harakat bo‘lib, u bitta (unar) 19 yoki ikkita (binar) operandlar ustida bajariladi, hisob natijasi uning qaytaruvchi qiymati hisoblanadi. Tayanch arifmetik amallarga qo‘shish (+), ayirish (-), ko‘paytirish (*), bo‘lish (/) va bo‘lishdagi qoldiqni olish (%) amallarini keltirish mumkin. Amallar qaytaradigan qiymatlarni o‘zlashtirish uchun C++ tilida “=” va uning turli modifikatsiyalari ishlatilib, quyidagilar hisoblanadi: qo‘shish, qiymat berish bilan (+=); ayirish, qiymat berish bilan (-=); ko‘paytirish, qiymat berish bilan (*=); bo‘lish, qiymat berish bilan (/=); bo‘lish qoldig‘ini olish, qiymat berish bilan (%=) va boshqalar. Bu holatlarning umumiy ko‘rinishi: =; Quyidagi dastur matnida ayrim amallarga misollar keltirilgan. #include int main() { int a=0 , b=4, c=90; char z=’\t’; a=b; cout<Dastur bajarilishi natijasida ekranda quyidagi sonlar satri paydo bo’ladi: 4 188 2 12 9 1 482 2
Razryadli mantiqiy amallar
Dastur tuzish tajribasi shuni ko‘rsatadiki, odatda qo‘yilgan masalani yechishda biror holat ro‘y bergan yoki yo‘qligini ifodalash uchun 0 va 1 qiymat qabul qiluvchi bayroqlardan foydalaniladi. Bu maqsadda bir yoki undan ortiq baytli o‘zgaruvchilardan foydalanish mumkin. Masalan, mantiqiy turdagi o‘zgaruvchini shu maqsadda ishlatsa bo’ladi. Boshqa tomondan, bayroq sifatida baytning razryadlaridan foydalanish ham mumkin. Chunki razryadlar faqat ikkita qiymatni – 0 va 1 sonlarini qabul qiladi. Bir baytda 8 razryad bo‘lgani uchun unda 8 ta bayroqni kodlash imkoniyati mavjud. Faraz qilaylik, qo‘riqlash tizimiga 5 ta xona ulangan va tizim taxtasidagi 5 ta chiroqcha (indikator) xonalar holatini bildiradi: xona qo‘riqlash tizimi nazoratida ekanligini mos indikatorning yonib turishi (razryadning 1 qiymati) va xonani tizimga ulanmaganligini indikator o‘chganligi (razryadning 0 qiymati) bildiradi. Tizim holatini ifodalash uchun bir bayt yetarli bo’ladi va uning kichik razryadidan boshlab beshtasini shu maqsadda ishlatish mumkin: 7 6 5 4 3 2 1 0 ind5 ind4 ind3 ind2 ind1 Masalan, baytning quyidagi holati 1, 4 va 5 xonalar qo‘riqlash tizimiga ulanganligini bildiradi: 7 6 5 4 3 2 1 0 x x x 1 1 0 0 1 Quyidagi jadvalda C++ tilida bayt razryadlari ustida mantiqiy amallar majmuasi keltirilgan
C++ tilida razryadli mantiqiy amallarni qiymat berish operatori birgalikda bajarilishining quyidagi ko‘rinishlari mavjud: &= – razryadli VA qiymat berish bilan; | = – razryadli YOKI qiymat berish bilan; ^= – razryadli istisno qiluvchi YOKI qiymat berish bilan. Chapga va o‘ngga surish amallari: Baytdagi bitlar qiymatini chapga yoki o‘ngga surish uchun, C++ tilida “<>” amallari qo‘llanilib, amaldan keyingi son bitlarni nechta o‘rin chapga yoki o‘nga surish kerakligini bildiradi. Masalan: unsigned char A=12; //А=000011002=0х0С16 A=A<>3; //A=000001102=0х0616=610 Razryadlarni n ta chapga (o‘nga) surish sonni 2 soniga ko‘paytirish (bo‘lish) amali bilan ekvivalent bo‘lib va nisbatan tez bajariladi. Shuni e’tiborga olish kerakki, operand ishorali son bo‘lsa, u holda chapga surishda eng chapdagi ishora razryadi takrorlanadi (ishora saqlanib qoladi) va manfiy sonlar ustida bu amal bajarilganda matematika nuqtai-nazardan xato natijalar yuzaga keladi: unsigned char B=-120; // В=100010002=0х8816 В=В<>3; // В=111100012=ОхҒ1 =-1510 22 Shu sababli, bu razryadli surish amallari ishorasiz (unsigned) turdagi qiymatlar ustida bajarilgani ma’qul.
Yüklə 22,21 Kb.

Dostları ilə paylaş:
1   2   3




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə