Menu
Coddy logo textTech

Operatori NOT e OR

Lezione 4 di 17 del corso Manipolazione dei bit di Coddy.

Operatore NOT ( ~ )

Questo operatore richiede un solo operando. Si usa per invertire i bit di un numero.

x~x
01
10

La tabella mostra cosa significa invertire il bit.

Lo stesso avviene con i pattern binari o i numeri. Di seguito un esempio-

 

Nell'esempio precedente, 'x' rappresenta la forma binaria di (11)10 e, quando applichiamo l'operatore not, otteniamo (4)10. In C++, l'output sarà diverso perché, dopo l'applicazione dell'operazione not, il risultato viene memorizzato in complemento a due a causa della rappresentazione binaria con segno. [(Numero)10 rappresenta il valore del numero in base 10)]

Operatore OR binario ( | )

OR bit a bit è un operatore binario che opera su due pattern di bit della stessa lunghezza. Se entrambi i bit nelle posizioni confrontate dei pattern di bit sono 0, il bit nel pattern di bit risultante è 0, altrimenti è 1. Il simbolo '|' rappresenta l'operatore OR.

La tabella seguente mostra l'operazione OR su due bit.

xyx | y
000
011
101
111

Vediamo un esempio per chiarire meglio-

Nell'esempio precedente abbiamo eseguito l'operazione OR su (11)10 e (4)10 , ottenendo (15)10.

Utilizzo:

int a = 0;
int b = 1;
>> a | b
OUTPUT: 1
challenge icon

Sfida

Facile

Ci sono due lampadine in una stanza. '0' significa che la luce è spenta e '1' significa che la luce è accesa. Ti vengono forniti due array in cui ogni elemento indica lo stato acceso/spento delle lampadine per ciascuna ora. Scopri per quante ore non c’è stata luce nella stanza.

Provalo tu

#include <iostream>
#include <vector>
using namespace std;

int hoursLightsOff(vector<int> bulb1, vector<int> bulb2) {
    // Scrivi il codice qui
}

Tutte le lezioni di Manipolazione dei bit

Esercitati da solo: Compilatore C++ online