Co to jest operator bitowy w Javie? i jego klasyfikacja (z przykładami)

Opublikowany: 2021-05-20

Java jest jednym z najbardziej dominujących języków programowania w Indiach, mającym około 20 procent udziału w rynku . Operator bitowy w Javie to symbol/notacja, która wykonuje określoną operację na samodzielnych bitach, pobieranych pojedynczo. Służy do manipulowania pojedynczymi bitami liczby binarnej i może być używany z różnymi typami liczb całkowitych – char, int, long, short, byte.

Operator bitowy w Javie można ogólnie podzielić na 7 typów:

Operator bitowy w Javie Symbol Opis
Bitowe AND | Zachowuje trochę w wyniku wtedy i tylko wtedy, gdy istnieje w obu operandach.
Bitowe OR & Zachowuje trochę, jeśli istnieje w jednym z dwóch operandów.
Bitowe XOR ^ Zachowuje bit, jeśli występuje tylko w jednym operandzie, ale nie w obu.
UZUPEŁNIENIE Bitowe ~ Znany również jako uzupełnienie jedynki. Po prostu odwróć bity operandu.
Bitowe LEWY SHIFT << Bity w lewym operandzie są przesuwane w lewo o liczbę miejsc określoną w prawym operandzie.
PODPISANY PRAWY PRZESUNIĘCIE >> Bity w lewym operandzie są przesuwane w prawo o liczbę miejsc określoną w prawym operandzie.
PRAWY PRZESUNIĘCIE NIE PODPISANE >>> Dokładnie tak, jak SIGNED RIGHT SHIFT plus przesunięte bity są wypełnione zerem.

Przyjrzyjmy się teraz szczegółowo każdemu operatorowi bitowemu w Javie:

Spis treści

1. LUB (A | B)

Tabela prawdy

A b Wyjście
0 0 0
0 1 1
1 0 1
1 1 1

Przykład

A = 1011 1110

B = 0011 0101

| B = 1011 1111

Składnia

klasa główna {

public static void main(String[] args) {

int operand1 = 190, operand2 = 53, wyjście;

// bitowe OR między 190 a 53

wyjście = argument1 | operand2;

System.out.println(wyjście); // program drukuje 191

}

}

2. I (A i B)

Tabela prawdy

A b Wyjście
0 0 0
0 1 0
1 0 0
1 1 1

Przykład

A = 1011 1110

B = 0011 0101

A i B = 0011 0100

Składnia

klasa główna {

public static void main(String[] args) {

int operand1 = 190, operand2 = 53, wyjście;

// bitowe OR między 190 a 53

wyjście = argument1 | operand2;

System.out.println(wyjście); // program drukuje 52

}

}

  1. WŁĄCZNIE LUB / XOR (A ^ B)

Tabela prawdy

A b Wyjście
0 0 0
0 1 1
1 0 1
1 1 0

Przykład

A = 1011 1110

B = 0011 0101

A ^ B = 1000 0011

Składnia

klasa główna {

public static void main(String[] args) {

int operand1 = 190, operand2 = 53, wyjście;

// bitowe OR między 190 a 53

wyjście = argument1 | operand2;

System.out.println(wyjście); // program drukuje 131

}

}

3. UZUPEŁNIENIE (A ~ B)

W kategoriach dziesiętnych bitowe uzupełnienie liczby A to – (A+1). Jednak w domenie binarnej musimy najpierw obliczyć uzupełnienie do 1, a następnie przekonwertować je na uzupełnienie do 2, aby uzyskać pożądany wynik.

Uzupełnienie 1 – po prostu odwróć bity. Na przykład:

A = 1011 1110 (190)

Uzupełnienie 1 do A = 0100 0001

Dopełnienie do A = 1 dopełnienie A + 1 = 0100 0010

Składnia

klasa główna {

public static void main(String[] args) {

int operand4 = 190, wyjście;

// dopełnienie bitowe 190

wyjście = ~operand4;

System.out.println(wyjście); // wydruki -191

}

}

  1. LEWY SHIFT (A << 1)

Załóżmy, że A = 1011 1110

A << 1 = ?

Ten bitowy operator w Javie sprawia, że ​​wszystkie bity przesuwają się w lewo o 1, tj. wyjście to 0111 1100. Najbardziej lewy bit (najbardziej znaczący bit lub MSB) jest odrzucany, a 0 jest dodawane w skrajnym prawym pustym miejscu ( najmniej znaczący bit lub LSB). Odbywa się to dla każdego wolnego miejsca po prawej stronie.

Składnia

klasa główna {

public static void main(String[] args) {

argument argumentu = 3; // binarny – 11

// 1-bitowa operacja przesunięcia w lewo

int output= operand << 1;

System.out.println(wyjście); // drukuje 2

}

}

4. PODPISANY PRAWY PRZESUNIĘCIE (A >>2)

Ten operator bitowy w Javie przesuwa wzorzec bitowy w prawo o określoną liczbę miejsc. LSB są odrzucane, a MSB są wypełniane bitem znaku. 0 oznacza znak dodatni, a 1 oznacza znak ujemny.

Składnia

klasa główna {

public static void main(String[] args) {

int argument 1 = 2;

int operand2 = -2;

// 2-bitowe przesunięcie w prawo ze znakiem

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

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

}

}

5. PRAWY PRZESUNIĘCIE BEZ SYGNAŁU (A >>>2)

Operacja tutaj jest dokładnie podobna do SIGNED RIGHT SHIFT, z wyjątkiem tego, że wolne bity najbardziej po lewej są zastępowane przez 0 zamiast bitów znaku.

Składnia

klasa główna {

public static void main(String[] args) {

argument argumentu = 240; // liczba binarna – 1111 0000

// 2 bitowe przesunięcie w prawo bez znaku

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

}

}

Ucz się kursów inżynierii oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Chcesz opanować Javę i zrobić na tym karierę? Sprawdź ścieżkę oprogramowania i technologii upGrad . Zapisz się na 13-miesięczny program Executive PG w zakresie pełnego rozwoju i ubrudź sobie ręce realnymi projektami. Połączony z renomowanym IIIT Bangalore, masz możliwość nauki 16 języków programowania i narzędzi oraz gwarantowanych 3 rozmów kwalifikacyjnych.

Czym są operatory bitowe?

Operator bitowy operuje na każdym bicie operandu i zwraca wynik w postaci jedynek i zer. Większość operatorów bitowych służy do tworzenia różnych masek, których można użyć do tworzenia pól bitowych, zmiany rozmiaru typu danych i wyrównywania typu danych. Operatory bitowe służą do wykonywania operacji bit po bicie na liczbie binarnej. Jest używany, aby być bardziej wydajnym w operacjach na poziomie bitów. Nie możemy używać operatora bitowego na zmiennych typu danych niecałkowitych.

Jakie są typy operatorów bitowych w Javie?

W języku Java oprócz operatorów arytmetycznych stosowane są również operatory bitowe. Chociaż istnieje tylko kilka operatorów bitowych, mogą one być niezwykle pomocne. W Javie istnieje sześć operatorów. Są to: bitowe AND, bitowe OR, bitowe XOR, bitowe przesunięcie w lewo, bitowe przesunięcie w prawo i uzupełnienie jedynkowe. Operatory te można stosować do typów liczb całkowitych byte, short, int, long i char.

Jakie są cechy języka programowania Java?

Java to obiektowy język programowania ogólnego przeznaczenia. Aplikacje Java są zazwyczaj kompilowane do kodu bajtowego, który jest następnie wykonywany na wirtualnej maszynie Java. Java została zaprojektowana do działania na różnych platformach. Jest również przeznaczony do użytku w rozproszonym środowisku obliczeniowym. Program napisany w języku programowania Java nazywa się aplikacją Java lub środowiskiem aplikacji Java. Język programowania Java jest potężnym i elastycznym językiem. Aplikacje Java są często większe i bardziej złożone niż przeciętna aplikacja internetowa. Język programowania Java jest językiem ogólnego przeznaczenia. Może służyć do tworzenia aplikacji o dowolnym celu. Funkcje takie jak wielowątkowość, praca w sieci, bezpieczeństwo i trwałość sprawiają, że Java jest odpowiednia do wielu różnych zastosowań.