Reja. Kross-platformali dasturlash tili haqida umumiy ma`lumot


Bit bo'yicha va siljish operatsiyalari



Download 0,98 Mb.
bet8/39
Sana07.03.2022
Hajmi0,98 Mb.
#485533
1   ...   4   5   6   7   8   9   10   11   ...   39
Bog'liq
j7WNgrIuzYyWbItD7qqrNdYOmEd13B0L

Bit bo'yicha va siljish operatsiyalari

Bit bo'yicha va siljish operatsiyalari sonning alohida bitlari yoki bitlari ustida amalga oshiriladi. Ushbu amallarni tushunish uchun raqamlarning ikkilik ko'rinishini ko'rib chiqing. Har bir raqam o'ziga xos ikkilik ko'rinishga ega. Masalan, ikkilik sistemada 4 soni 100, 5 soni esa 101 va hokazo.


Imzolangan raqamlarni yozish uchun ikkita to'ldiruvchi ishlatiladi, unda eng muhim bit imzolanadi. Agar uning qiymati 0 bo'lsa, u holda son ijobiy bo'ladi va uning ikkilik ko'rinishi ishorasiz raqamdan farq qilmaydi. Masalan, 0000 0001 o'nlik 1.

Agar eng muhim bit 1 bo'lsa, biz salbiy raqam bilan ishlaymiz. Masalan, 1111 1111 o'nli raqam -1 ni bildiradi. Shunga ko'ra, 1111 0011 -13 ni bildiradi.

Mantiqiy operatsiyalar


Raqamlar ustidagi mantiqiy amallar bitli amallarni ifodalaydi. Bunday holda, raqamlar ikkilik ko'rinishda ko'rib chiqiladi, masalan, ikkilik tizimda 2 10 va ikkita raqamga ega, 7 raqami 111 va uchta raqamga ega.

& (mantiqiy ko'paytirish)


Ko'paytirish bit bo'yicha amalga oshiriladi va agar ikkala operandda ham bit qiymatlari 1 ga teng bo'lsa, operatsiya 1 ni qaytaradi, aks holda 0 raqami qaytariladi. Masalan:




1
2
3
4
5
6
7

int a1 = 2; //010
int b1 = 5; //101
print(a1&b1); //000 - результат 0
int a2 = 4; //100
int b2 = 5; //101
print(a2 & b2); //100 - результат 4

Birinchi holda, bizda ikkita 2 va 5 raqamlari bor. Ikkilik tizimda 2 010 sonini, 5 - 101. Sonlarni bit yo'nalishi bo'yicha ko'paytirish (0 * 1, 1 * 0, 0 * 1) 000 natijasini beradi.


Ikkinchi holda, ikkita o'rniga, bizda birinchi raqamda 1 bo'lgan 4 raqami bor, xuddi 5 raqami kabi, shuning uchun bu erda operatsiya natijasi (1 * 1, 0 * 0, 0 * 1) = 100 o'nlik formatda 4 raqami bo'ladi ...


| (mantiqiy qo'shimcha)


Bu operatsiya ikkilik raqamlarda ham bajariladi, ammo endi bu bitdagi kamida bitta raqamda birlik bo'lsa ("mantiqiy OR" operatsiyasi) birlik qaytariladi. Masalan:




1
2
3
4
5
6

int a1 = 2; //010
int b1 = 5; //101
print(a1|b1); //111- результат 7
int a2 = 4; //100
int b2 = 5; //101
print(a2 | b2); //101 - результат 5

^ (mantiqiy eksklyuziv OR)


Ushbu operatsiya XOR deb ham ataladi, u ko'pincha oddiy shifrlash uchun ishlatiladi:




1
2
3
4
5
6
7

int number = 45; // 1001 Значение, которое надо зашифровать - в двоичной форме 101101
int key = 102; //Ключ шифрования - в двоичной системе 1100110
int encrypt = number ^ key; //Результатом будет число 1001011 или 75
print("Зашифрованное число: $encrypt");
int decrypt = encrypt ^ key; // Результатом будет исходное число 45
print("Расшифрованное число: $decrypt");

Bu yerda bitli operatsiyalar ham bajariladi. Agar ikkala raqam uchun joriy raqamning har xil qiymatlari bo'lsa, u holda 1 qaytariladi, aks holda 0 qaytariladi. Masalan, 9 ^ 5 ifodasining natijasi 12 raqami bo'ladi. Raqamni ochish uchun biz amal qilamiz. natijaga teskari operatsiya.


~ (mantiqiy inkor)


Raqamning barcha raqamlarini o'zgartiruvchi bit bo'yicha operatsiya: agar bit qiymati 1 bo'lsa, u nolga aylanadi va aksincha.





1
2

int a = 12; // 0000 1100
print(~a); // 1111 0011 или -13

Shift operatsiyalari


Shift amallari raqamlarning raqamlarida ham bajariladi. Shishish o'ngga va chapga sodir bo'lishi mumkin.

a << b - a raqamini chapga b raqamga siljitadi. Misol uchun, 4 << 1 ifodasi 4 raqamini (bu ikkilik tizimda 100 ni tashkil qiladi) bir raqamni chapga siljitadi, natijada o'nli kasrda 1000 yoki 8 ta bo'ladi.


a >> b - a raqamini o'ngga b raqamga siljitadi. Masalan, 16 >> 1 16 raqamini (ikkilik sistemada bu 10 000) bir raqamni o'ngga siljitadi, ya'ni natijada 1000 yoki o'nli tizimda 8 raqami bo'ladi.





Download 0,98 Mb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   ...   39




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish