Quyidagi jadvalda Java tilida ishlatiladigan bitli operatsiyalar keltirilgan
Bit-bit operatsiyalarining amaliy qo'llanilishi
Download 62.5 Kb.
|
Bit operatsiyalar
- Bu sahifa navigatsiya:
- Quyidagi kod ushbu misolni korsatadi
- Niqobni qollash
Bit-bit operatsiyalarining amaliy qo'llanilishiBit-bit operatsiyalari juda keng amaliy qo'llanmalarga ega, ba'zi holatlarni ko'rib chiqing:Raqam paritetix & 1 raqamning tengligini tekshiradi. Agar raqam juft bo'lsa-natija 0, g'alati-1.Raqamni ikkiga bo'lish:x<<1 2 ga ko'paytirish.x>>1 har qanday qoldiqni tashlab, ikkiga bo'ling.Raqamni shifrlashXOR operatsiyasi bir xil bit qatoriga ikki marta qo'llanilganda asl qiymatini tiklaydi. Bu tarmoq orqali uzatishda ma'lumotlarni shifrlashda ishlatilishi mumkin:C = A ^ B A = C ^ B Xabarda 560 raqamini yuborish kerakligini tasavvur qiling - bank kartasidan PIN-kod. Agar tajovuzkor xabarni ushlasa, u PIN-kodni bilib oladi va undan foydalanishi mumkin. PIN-kodni faqat jo'natuvchi va qabul qiluvchi bilishi mumkin. Buning oldini olish uchun biz biron bir raqam-niqobni o'ylab topamiz va uni oluvchiga oldindan aytib beramiz. PIN - kodni yuborishdan oldin uni shifrlaymiz-biz bitli XOR operatsiyasini qo'llaymiz: message^XOR Va natijani yuboring. Agar tajovuzkor xabarni ushlasa, uni qanday hal qilishni bilmaydi. Qabul qiluvchi xabarni oladi, mavjud niqob yordamida PIN-kodni parolini ochadi: message^maska.Quyidagi kod ushbu misolni ko'rsatadi:public class Bitwise3 { public static void main(String[] args) { int message = 560; int maska = 67; int codedMessage = message ^ maska; int receivedMesssage = codedMessage ^ maska; System.out.println("message = " + message); System.out.println("message = " + Integer.toBinaryString(message)); System.out.println("codedMessage = " + codedMessage); System.out.println("codedMessage = " + Integer.toBinaryString(codedMessage)); System.out.println("receivedMesssage = " + receivedMesssage); System.out.println("receivedMesssage = " + Integer.toBinaryString(receivedMesssage)); } } Niqobni qo'llashNiqob sizga ketma-ketlikda faqat ma'lum bitlarning qiymatlarini olish imkonini beradi. Masalan, bizda 00100100 niqobi bor. Bu bizga ketma-ketlikdan faqat unga o'rnatilgan bitlarni olish imkonini beradi. Bunday holda, bu 3 va 7-chi. Buning uchun bizning niqobimiz va tanlangan raqamimiz bilan AND ni bajarish kifoya:' 001010101 & 000100100 ---------------- 000000100 '1> Download 62.5 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling