Ce este operatorul pe biți în Java? și este clasificarea (cu exemple)

Publicat: 2021-05-20

Java este unul dintre cele mai predominante limbaje de programare din India, deținând aproximativ 20% din cota de piață . Un operator pe biți în Java este un simbol/notație care efectuează o operație specificată pe biți autonomi, luați unul câte unul. Este folosit pentru a manipula biți individuali ai unui număr binar și poate fi folosit cu o varietate de tipuri de întregi - char, int, long, short, byte.

Un operator pe biți în Java poate fi clasificat în 7 tipuri:

Operator pe biți în Java Simbol Descriere
ȘI pe biți | Păstrează un pic în rezultat dacă și numai dacă există în ambii operanzi.
SAU pe biți & Păstrează un pic dacă există în oricare dintre cei doi operanzi.
XOR pe biți ^ Păstrează un pic dacă este prezent doar într-un singur operand, dar nu în ambele.
COMPLEMENT pe biți ~ Cunoscut și sub numele de complement 1. Doar inversați biții operandului.
SHIFT STANGA pe biți << Biții din operandul din stânga sunt deplasați la stânga cu numărul de locuri specificat în operandul din dreapta.
SHIFT DREAPTA SEMNAT >> Biții din operandul din stânga sunt deplasați la dreapta cu numărul de locuri specificat în operandul din dreapta.
SHIFT DREAPTA NESEMNAT >>> Exact ca SIGNED RIGHT SHIFT plus biții deplasați sunt umpluți cu zero.

Să explorăm acum în detaliu fiecare operator pe biți din Java:

Cuprins

1. SAU (A | B)

Tabelul Adevărului

A B Ieșire
0 0 0
0 1 1
1 0 1
1 1 1

Exemplu

A = 1011 1110

B = 0011 0101

A | B = 1011 1111

Sintaxă

clasa principal {

public static void main(String[] args) {

int operand1 = 190, operand2 = 53, ieșire;

// biți SAU între 190 și 53

ieșire = operand1 | operand2;

System.out.println(ieșire); // programul imprimă 191

}

}

2. ȘI (A și B)

Tabelul Adevărului

A B Ieșire
0 0 0
0 1 0
1 0 0
1 1 1

Exemplu

A = 1011 1110

B = 0011 0101

A și B = 0011 0100

Sintaxă

clasa principal {

public static void main(String[] args) {

int operand1 = 190, operand2 = 53, ieșire;

// biți SAU între 190 și 53

ieșire = operand1 | operand2;

System.out.println(ieșire); // programul imprimă 52

}

}

  1. SAU INCLUSIV / XOR (A ^ B)

Tabelul Adevărului

A B Ieșire
0 0 0
0 1 1
1 0 1
1 1 0

Exemplu

A = 1011 1110

B = 0011 0101

A ^ B = 1000 0011

Sintaxă

clasa principal {

public static void main(String[] args) {

int operand1 = 190, operand2 = 53, ieșire;

// biți SAU între 190 și 53

ieșire = operand1 | operand2;

System.out.println(ieșire); // programul imprimă 131

}

}

3. COMPLEMENT (A ~ B)

În termeni zecimali, complementul pe biți al unui număr A este – (A+1). Cu toate acestea, în domeniul binar, trebuie să calculăm mai întâi complementul său 1 și apoi să îl convertim în complementul său 2 pentru a obține rezultatul dorit.

Complementul 1 – Doar inversați biții. De exemplu:

A = 1011 1110 (190)

Complementul lui A = 0100 0001

Complementul 2 al lui A = Complementul lui 1 al lui A + 1 = 0100 0010

Sintaxă

clasa principal {

public static void main(String[] args) {

int operand4 = 190, ieșire;

// complement pe biți de 190

ieșire = ~operand4;

System.out.println(ieșire); // imprimă -191

}

}

  1. SHIFT LA STANGA (A << 1)

Să presupunem că A = 1011 1110

A << 1 = ?

Acest operator pe biți din Java face ca toți biții să se deplaseze la stânga cu 1, adică ieșirea este 0111 1100. Bitul din stânga (bitul cel mai semnificativ sau MSB) este eliminat și un 0 este adăugat în locul gol din dreapta ( bitul cel mai puțin semnificativ sau LSB). Acest lucru se face pentru fiecare loc liber din dreapta.

Sintaxă

clasa principal {

public static void main(String[] args) {

operand int = 3; // binar – 11

// Operație de schimbare la stânga pe 1 bit

int output= operand << 1;

System.out.println(ieșire); // imprimă 2

}

}

4. SHIFT DREAPTA SEMNAT (A >>2)

Acest operator pe biți în Java mută modelul de biți la dreapta cu numărul specificat de locuri. LSB-urile sunt aruncate, iar MSB-urile sunt umplute cu bitul semn. 0 reprezintă un semn pozitiv, în timp ce 1 reprezintă un semn negativ.

Sintaxă

clasa principal {

public static void main(String[] args) {

int operand 1 = 2;

int operand2 = -2;

// Deplasare la dreapta pe 2 biți semnat

System.out.println(operand1 >> 2); // imprimă 1

System.out.println(operand2 >> 2); // imprimă -1

}

}

5. SHIFT DREAPTA NESEMNAT (A >>>2)

Operația de aici este exact similară cu SIGNED RIGHT SHIFT, cu excepția faptului că biții liberi din stânga sunt înlocuiți cu 0 în loc de biții semn.

Sintaxă

clasa principal {

public static void main(String[] args) {

operand int = 240; // număr binar – 1111 0000

// Deplasare la dreapta nesemnată de 2 biți

System.out.println(operand >>> 2); // imprimă 60

}

}

Învață cursuri de inginerie software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Doriți să stăpâniți Java și să faceți o carieră din el? Consultați piesa software și tehnologie upGrad . Înscrie-te la programul Executive PG de 13 luni în Full-Stack Development și murdărește-ți mâinile cu proiecte din lumea reală. Afiliat la reputatul IIIT Bangalore, aveți ocazia de a învăța 16 limbaje și instrumente de programare și 3 interviuri de angajare garantate.

Ce sunt operatorii pe biți?

Un operator pe biți operează pe fiecare bit al operanzilor și returnează un rezultat sub formă de 1 și 0. Majoritatea operatorilor pe biți sunt utilizați pentru realizarea diferitelor măști, care pot fi utilizate pentru a crea câmpuri de biți, pentru a modifica dimensiunea unui tip de date și pentru a alinia un tip de date. Operatorii pe biți sunt utilizați pentru a efectua operații bit cu bit pe un număr binar. Este folosit pentru a fi mai eficient în operațiuni la nivel de biți. Nu putem folosi operator pe biți pe variabile de tipuri de date non-întregi.

Care sunt tipurile de operatori pe biți în Java?

În limbajul Java, în afară de operatorii aritmetici, se folosesc și operatorii pe biți. Deși există doar câțiva operatori pe biți, aceștia pot fi extrem de folositori. În Java există șase operatori. Acestea sunt: ​​ȘI pe biți, SAU pe biți, XOR pe biți, Deplasarea pe biți la stânga, Deplasarea pe biți la dreapta și Complementul unuia. Acești operatori pot fi aplicați la tipurile întregi byte, short, int, long și char.

Care sunt caracteristicile limbajului de programare java?

Java este un limbaj de programare orientat pe obiecte de uz general. Aplicațiile Java sunt de obicei compilate în bytecode, care este apoi executat pe Java Virtual Machine. Java este proiectat să ruleze pe o varietate de platforme. De asemenea, este proiectat pentru a fi utilizat într-un mediu de calcul distribuit. Un program scris în limbajul de programare Java se numește aplicație Java sau mediu de aplicație Java. Limbajul de programare Java este un limbaj puternic și flexibil. Aplicațiile Java sunt adesea mai mari și mai complexe decât o aplicație web obișnuită. Limbajul de programare Java este un limbaj de uz general. Poate fi folosit pentru a crea aplicații pentru orice scop. Caracteristici precum multithreading, rețea, securitate și persistență fac ca Java să fie potrivit pentru o mare varietate de utilizări.