logo

Bitové operátory v jazyku Java


Operátori tvoria základný stavebný kameň každého programovacieho jazyka. Aj Java poskytuje mnoho typov operátorov, ktoré možno použiť podľa potreby vykonávať rôzne výpočty a funkcie, či už logické, aritmetické, relačné atď. Sú klasifikované na základe funkčnosti, ktorú poskytujú. Tu je niekoľko typov:

  1. Aritmetické operátory
  2. Unární operátori
  3. Operátor pridelenia
  4. Vzťahoví operátori
  5. Logické operátory
  6. Ternárny operátor
  7. Bitové operátory
  8. Zmenoví operátori

Tento článok vysvetľuje všetko, čo potrebujete vedieť o Bitwise Operatoroch.

mapa v jave

Bitové operátory

Bitové operátory sa používajú na vykonávanie manipulácie s jednotlivými bitmi čísla. Môžu byť použité s akýmkoľvek integrálnym typom (char, short, int, atď.). Používajú sa pri vykonávaní operácií aktualizácie a dotazovania binárnych indexovaných stromov.



Teraz sa pozrime na každý z bitových operátorov v jazyku Java:

1. Bitové ALEBO (|)

Tento operátor je binárny operátor označený ako „|“. Vracia bit po bite ALEBO vstupných hodnôt, t.j. ak je niektorý z bitov 1, dáva 1, inak ukazuje 0.

Príklad:

a = 5 = 0101 (In Binary) b = 7 = 0111 (In Binary)  Bitwise OR Operation of 5 and 7  0101 | 0111  ________  0111 = 7 (In decimal)>

2. Bitové A (&)

Tento operátor je binárny operátor označený „&.“ Vracia vstupné hodnoty bit po bite AND, t. j. ak sú oba bity 1, dáva 1, inak ukazuje 0.

Príklad:

a = 5 = 0101 (In Binary) b = 7 = 0111 (In Binary)  Bitwise AND Operation of 5 and 7  0101 & 0111  ________  0101 = 5 (In decimal)>

3. Bitové XOR (^)

Tento operátor je binárny operátor označený „^.“ Vracia bit po bite XOR vstupných hodnôt, t. j. ak sa zodpovedajúce bity líšia, dáva 1, inak ukazuje 0.

Príklad:

a = 5 = 0101 (In Binary) b = 7 = 0111 (In Binary)  Bitwise XOR Operation of 5 and 7  0101 ^ 0111  ________  0010 = 2 (In decimal)>

4. Bitový doplnok (~)

Tento operátor je unárny operátor, ktorý sa označuje ako „~.“ Vracia reprezentáciu vstupnej hodnoty s doplnkom, t. j. so všetkými invertovanými bitmi, čo znamená, že robí každú 0 až 1 a každú 1 až 0.

Príklad:

a = 5 = 0101 (In Binary)  Bitwise Complement Operation of 5  ~ 0101  ________  1010 = 10 (In decimal)>

Poznámka: Kompilátor poskytne dvojkový doplnok tohto čísla, t.j. dvojkový doplnok 10 bude -6.

Java
// Java program to illustrate // bitwise operators public class operators {  public static void main(String[] args)   b));  // bitwise xor  // 0101 ^ 0111=0010 = 2  System.out.println('a^b = ' + (a ^ b));  // bitwise not  // ~00000000 00000000 00000000 00000101=11111111 11111111 11111111 11111010  // will give 2's complement (32 bit) of 5 = -6  System.out.println('~a = ' + ~a);  // can also be combined with  // assignment operator to provide shorthand  // assignment  // a=a&b  a &= b;  System.out.println('a= ' + a);   }>

Výkon
a&b = 5 a|b = 7 a^b = 2 ~a = -6 a= 5>

Pomocný priestor:O(1)

Časová zložitosť:O(1)

Java
// Demonstrating the bitwise logical operators class GFG {  public static void main (String[] args) {    String binary[]={  '0000','0001','0010','0011','0100','0101',  '0110','0111','1000','1001','1010',  '1011','1100','1101','1110','1111'  };    // initializing the values of a and b   int a=3; // 0+2+1 or 0011 in binary  int b=6; // 4+2+0 or 0110 in binary    // bitwise or  int c= a | b;    // bitwise and  int d= a & b;    // bitwise xor  int e= a ^ b;    // bitwise not  int f= (~a & b)|(a &~b);  int g= ~a & 0x0f;      System.out.println(' a= '+binary[a]);  System.out.println(' b= '+binary[b]);  System.out.println(' a|b= '+binary[c]);  System.out.println(' a&b= '+binary[d]);  System.out.println(' a^b= '+binary[e]);  System.out.println('~a & b|a&~b= '+binary[f]);  System.out.println('~a= '+binary[g]);  } }>

Výkon
 a= 0011 b= 0110 a|b= 0111 a&b= 0010 a^b= 0101 ~a & b|a&~b= 0101 ~a= 1100>

Operátory bitového posunu (operátory posunu)

Operátory posunu sa používajú na posunutie bitov čísla doľava alebo doprava, čím sa číslo vynásobí alebo vydelí dvoma. Môžu sa použiť, keď musíme číslo vynásobiť alebo vydeliť dvoma.

Syntax:

 number   shift_op   number_of_places_to_shift;>

Typy zmenových operátorov:

Zmenoví operátori sa ďalej delia na 4 typy. Toto sú:

  1. Operátor posunu vpravo (>>)
  2. Nepopísaný operátor posunu vpravo (>>>)
  3. Operátor zmeny vľavo (<<)
  4. Bez znamienka Operátor ľavého posunu (<<<)

Poznámka: Ďalšie podrobnosti o operátoroch posunu v jazyku Java nájdete na stránke Operátor posunu v jazyku Java .

normálne formy

program na implementáciu všetkých bitových operátorov v jazyku Java pre vstup používateľa

Java
import java.util.Scanner; public class BitwiseOperators {  public static void main(String[] args)   Scanner input = new Scanner(System.in);  System.out.print('Enter first number: ');  int num1 = input.nextInt();  System.out.print('Enter second number: ');  int num2 = input.nextInt();  System.out.println('Bitwise AND: ' + (num1 & num2));  System.out.println('Bitwise OR: ' + (num1  }>

Vstup

Enter first number: 4 Enter second number: 8>

Výkon

Bitwise AND: 0 Bitwise OR: 12 Bitwise XOR: 12 Bitwise NOT: -5 Bitwise Left Shift: 16 Bitwise Right Shift: 1 Bitwise Unsigned Right Shift: 1>

Vysvetlenie

Tento program vyzve používateľa, aby zadal dve čísla, num1 a num2. Potom vykoná nasledujúce bitové operácie pomocou operátorov &, |, ^, ~, <> a>>>:

Bitové AND
Bitové ALEBO
Bitový XOR
Bitovo NIE
Bitový posun doľava
Bitový posun doprava
Bitový nulový výplň pravý Shift

Výhody

Výhody používania bitových operátorov v jazyku Java sú:

  1. Rýchlosť: Bitové operácie sú oveľa rýchlejšie ako aritmetické operácie, pretože pracujú priamo s binárnymi reprezentáciami čísel.
  2. Optimalizácia priestoru: Bitové operácie možno použiť na uloženie viacerých hodnôt do jednej premennej, čo môže byť užitočné pri práci s obmedzenou pamäťou.
  3. Bitová manipulácia: Bitové operátory umožňujú presnú kontrolu nad jednotlivými bitmi čísla, čo môže byť užitočné v rôznych aplikáciách, ako je kryptografia, detekcia chýb a kompresia.
  4. Zjednodušenie kódu : Bitové operácie môžu zjednodušiť kód znížením počtu podmienených príkazov a slučiek potrebných na vykonanie určitých úloh.

Stručne povedané, Bitwise Operators sú dôležitým nástrojom na optimalizáciu výkonu, zlepšenie čitateľnosti kódu a zníženie zložitosti kódu v aplikáciách Java.