Operatori bitwise in Java | Spiegato

Operatori bitwise in Java | Spiegato
Gli operatori bitwise in Java eseguono diverse operazioni a un livello di bit. Le operazioni bitwise sono applicabili sui tipi di dati primitivi (numeri interi, stringhe, galleggiante, doppio, ecc.) e manipolare i loro pezzi. Gli operatori bitwise includono operatori OR, XOR e SHIFT e operatore del complemento. Questo articolo fornisce il funzionamento e l'utilizzo degli operatori di bit in Java.

Come funzionano gli operatori bitwise in Java

Questa sezione presenta la sintassi e il funzionamento di ciascun operatore bitwise in Java.

Bitwise e (&): Questo operatore è correlato al logico e al funzionamento di Java. Tuttavia, il bitwise e l'operatore confrontano i bit di operandi e restituisce 1 se entrambi i numeri hanno 1 nello stesso posto. Se i bit nella stessa posizione hanno oltre alla combinazione 1,1, sostituirà 0 nel bit risultante. La sintassi fornita di seguito aiuta ad applicare Bitwise e Operation in Java.

operand1 & operand2;

Bitwise o (|): Questo operatore confronta i bit di operandi e restituisce 1 se gli operandi hanno in atto oltre a 0,0 bit. Il bitwise o viene praticato utilizzando la seguente sintassi:

operand1 | operand2;

Bitwise xor (^): Funziona in modo diverso da bitwise o bitwise e. Restituisce 1 se entrambi gli operandi hanno bit diversi e restituisce 0 in caso degli stessi bit di operandi. La sintassi seguente deve essere seguita per esercitare il bit a XOR:

operand1 ^ operand2;

Complemento bitwise (~): Complemento bitwise (~). Questo si riferisce al cambiamento dei bit di un numero da 0 a 1 e 1 a 0. La sintassi fornita di seguito deve essere seguita per applicare l'operatore del complemento Bitwise:

~ operand;

Nota: Il compilatore Java prende il complemento del 2 per utilizzare l'operatore del complemento bitwise.

Operatore di spostamento a sinistra bitwise (<<): Questo operatore sposta il bit di numero a sinistra con un numero specifico. La sintassi seguente deve essere seguita per applicare l'operatore a shift sinistro:

operand1<Operatore di spostamento a destra bitwise (>>): L'operatore di spostamento a destra bitwise sposta il binario di un numero sul lato destro e riempie lo spazio libero con un bit firmato (il bit più significativo che è nella posizione più a sinistra del numero binario). Per utilizzare l'operatore di cambio giusto, viene fornita la seguente sintassi:

operand1 >> operand2;

Bitwise non ingelato a destra (>>>): Questo si riferisce anche a spostarsi a destra occupando lo spazio libero con "0". La sintassi fornita di seguito può essere utilizzata per applicare l'operatore non firmato Bitwise:

operand1 >> operand2;

Mentre si tratta di operatori a turni, si consiglia di essere meno di Operand2. Inoltre, i numeri negativi non possono essere utilizzati per applicare gli operatori a turni poiché il risultato potrebbe essere infinito.

Come usare gli operatori bitwise in Java

Questa sezione fornisce l'implementazione di diversi operatori di bit in Java.

Usando bitwise o (|): Il codice Java scritto di seguito viene praticato utilizzando il bitwise o l'operatore.

pacchetto newpack;
classe pubblica bitwiseop
public static void main (string [] args)
// Variabili di inizializzazione
int a = 4, b = 6;
// Stampa il binario della variabile a
Sistema.fuori.println (intero.TobinaryString (a));
// Stampa il binario della variabile B
Sistema.fuori.println (intero.TobinaryString (b));
// usando l'operatore o su a e b
Sistema.fuori.println ("Il risultato di un | bis:" +(a | b));
// Stampa il binario di A | B
Sistema.fuori.println (intero.TobinaryString (a | b));

La descrizione del codice è:

- Inizializzazione di due variabili UN E B

- Stampa i binari delle variabili, UN E B

- stampa il risultato di a | b

- ottiene il binario di a | b

Nota: Stampa/ottenendo il binario dell'intero nel codice sopra è facoltativo. Lo abbiamo usato per una migliore comprensione, altrimenti Java esegue automaticamente le operazioni bitwise sul binario equivalente del numero.

L'output del codice è fornito di seguito:

L'output mostra che il numero binario di "A = 4" e "B = 6" sono "100" e "110" rispettivamente. E quando viene applicato l'operatore Bitwise "o", il risultato è 6 e il suo binario equivalente è "110".

Usando bitwise e (&): Per dimostrare l'uso di Bitwise e, abbiamo praticato il seguente codice Java.

pacchetto newpack;
classe pubblica bitwiseop
public static void main (string [] args)
// Variabili di inizializzazione
int x = 5, y = 7;
// Stampa il binario di variabile x
Sistema.fuori.println (intero.TobinaryString (x));
// Stampa il binario di variabile y
Sistema.fuori.println (intero.TobinaryString (y));
// usando l'operatore e su xey
Sistema.fuori.println ("Il risultato di x & y è:" +(x & y));
// Stampa il binario di X & Y
Sistema.fuori.println (intero.TobinaryString (x & y));

Il codice sopra indicato è descritto come:

- inizializza due variabili X E y

- Stampa il binario di X

- Stampa il binario di y

- applicazione E operatore su X,y

- stampato il binario di X & Y

L'output del codice sopra è mostrato di seguito:

Dall'output, si osserva che il binario di "x = 5" e "y = 7" è rispettivamente "101" e "111". Quando è stato bit E viene applicato su questi, il risultato è "5" che ha un valore binario "101".

Usando il complemento bitwise (~): L'operatore del complemento bitwise viene utilizzato nel codice fornito.

pacchetto newpack;
classe pubblica bitwiseop
public static void main (string [] args)
// Variabile inizializza
int z = 2;
// usando l'operatore ~ ​​su z
Sistema.fuori.println ("Il risultato di ~ z è:" + ~ z);

Il codice sopra riceve il valore di z = 2 e stampa il complemento bitwise di z.

L'output può essere visto di seguito:

Usando il cambio a sinistra bitwise (<<): Abbiamo praticato il seguente codice Java per implementare l'operatore di spostamento a sinistra bitwise.

pacchetto newpack;
classe pubblica bitwiseop
public static void main (string [] args)
// Variabile inizializza
int a = 4;
// binario di a
Sistema.fuori.println (intero.TobinaryString (a));
// usando lo spostamento a sinistra bitwise su a
Sistema.fuori.println (a<<2);
// binario di a<<2
Sistema.fuori.println (intero.TobinaryString (a<<2));

Il codice sopra è descritto di seguito:

- UN La variabile è inizializzata

- stampato il binario di UN

- Usando l'operatore di cambio bitwise su UN

- ottenere il binario di UN<<2 (numero di bit che verranno spostati)

L'output del codice è mostrato di seguito:

Dall'output, si osserva che il binario di "a = 4" è "100" e quando 2 bibiti vengono spostati il ​​binario sarebbe "10000" e il suo decimale equivalente sarebbe "16".

Utilizzando BitWise Right Shift (>>): L'applicabilità dell'operatore di spostamento di destra è descritta nel seguente codice.

pacchetto newpack;
classe pubblica bitwiseop
public static void main (string [] args)
// Variabile inizializza
int a = 7;
// binario di a
Sistema.fuori.println (intero.TobinaryString (a));
// usando lo spostamento a destra bit su a
Sistema.fuori.println (a >> 2);
// binario di a >> 2
Sistema.fuori.println (intero.TobinaryString (a >> 2));

Il codice è descritto come:

- variabile UN è inizializzato

- binario di UN è stampato

- Spegno a destra applicato su UN

- stampato il binario di a >> 2.

L'output del codice è fornito qui:

L'output mostra che i 2Bit destra vengono rimossi da "111" (binario di 7) e il binario risultante è "1".

Usando il cambio a destra non firmato Bitwise (>>>): Il seguente codice mostra l'utilizzo dell'operatore di spostamento a destra Bitwise Unsigned.

pacchetto newpack;
classe pubblica bitwiseop
public static void main (string [] args)
// Variabile inizializza
int x = 11;
// binario di x
Sistema.fuori.println (intero.TobinaryString (x));
// usando il cambio destro non firmato Bitwise su x
Sistema.fuori.println (x >>> 2);
// binario di x >>> 2
Sistema.fuori.println (intero.TobinaryString (x >>> 2));

La descrizione del codice è come:

- inizializzato una variabile X

- stampato il binario di X

- stampato il risultato di X >>> 2

- ottenuto il binario di X >>> 2

L'output può essere visto nella seguente immagine:

L'operatore di spostamento a destra non firmato sposta il bit a destra e lo spazio libero è occupato da 2 (poiché abbiamo impostato il numero di bit su 2) 0. Inoltre, dall'output si osserva che i 2Bit più a destra vengono rimossi.

Conclusione

Gli operatori bitwise in Java sono praticati eseguendo diverse operazioni su motivi bitwise. Il modello bitwise considera i bit per manipolare i dati. Questo articolo dimostra diversi operatori di bit in Java. Gli operatori bitwise includono bitwise e, bit o, complemento bit, xor ecc. Avresti imparato il lavoro di base e l'utilizzo di tutti questi operatori bitwise in Java.