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 |
| 0 | 1 |
| 1 | 0 |
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.
| x | y | x | y |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
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: 1Sfida
FacileCi 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