bet 1/3 Sana 30.04.2023 Hajmi 62.5 Kb. #1417099
1   2   3
Bog'liq
Bit operatsiyalar

1. Bit operatsiyalar

~ Unary operatsiyasi (qo'shimcha)
& Bitmapli mantiqiy operatsiya (AND bitli birikma)
| Bitmapli mantiqiy operatsiya (OR bitli disunktsiya)
^ Bir nechta mantiqiy operatsiya (XOR)
Bitli operatorlar butun son turlariga qo'llaniladi long, int, short, char, byte. Bit-bitli operatorlar har bir operandning har bir bitiga qo'llaniladi.
Bittagina mantiqiy operatsiyalarni bajarish natijalari:
 A B A | B A & B A ^ B ~A 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0

OR , | yoki bit operatori
OR bayonotini bajarish natijasida hosil bo'lgan bit, agar operandlarning har qandayidagi mos keladigan bit 1 bo'lsa, 1 ga teng.
' 00101010 42
| 00001111 15
--------------
00101111 47
'

' 00101010 42
& 00001111 15
--------------
00001010 10
'

' 00101010 42
^ 00001111 15
--------------
00100101 37
'

### Unary operator NOT (Not), ~, shuningdek, bitli qo'shimchalar deb ataladi, operandning barcha bitlarini o'zgartiradi.

~ 00101010 42
-----------------
11010101

### Keling, dasturda bit-bit operatsiyalaridan foydalanishni ko'rib chiqaylik. Quyidagi misolda usulning qo'llanilishi ham ko'rsatilgan Integer.toBinaryString() bu o'nlik qiymatni ikkilikka olib keladi:

public class Bitwise1 {
public static void main(String[] args) {
int a = 3;
int b = 6;
int c = a | b;
int d = a & b;
int e = a ^ b;
int f = ~b;
System.out.println("a = " + Integer.toBinaryString(a));
System.out.println("b = " + Integer.toBinaryString(b));
System.out.println("a | b = " + Integer.toBinaryString(c));
System.out.println("a & b = " + Integer.toBinaryString(d));
System.out.println("a ^ b = " + Integer.toBinaryString(e));
System.out.println("~ b = " + Integer.toBinaryString(f));
}
}