Operatory NOT i OR
Lekcja 4 z 17 w kursie Operacje bitowe w Coddy.
Operator NOT ( ~ )
Ten operator wymaga tylko jednego operandu. Służy do odwracania bitów liczby.
| x | ~x |
| 0 | 1 |
| 1 | 0 |
Powyższa tabela pokazuje, na czym polega odwracanie bitu.
To samo robi się z wzorcami bitowymi lub liczbami. Poniżej przykład-
W powyższym przykładzie „x” reprezentuje postać binarną liczby (11)10, a gdy zastosujemy do niej operator NOT, otrzymamy (4)10. Wynik tej operacji w C++ będzie inny, ponieważ po zastosowaniu operacji NOT rezultat jest przechowywany w kodzie uzupełnień do dwóch ze względu na użycie liczby binarnej ze znakiem. [(Liczba)10 oznacza wartość liczby w systemie o podstawie 10)]
Operator OR bitowy ( | )
Bitowy OR to operator binarny działający na dwóch wzorcach bitowych o tej samej długości. Jeśli oba bity na porównywanych pozycjach we wzorcach bitowych mają wartość 0, bit w wynikowym wzorcu bitowym ma wartość 0, w przeciwnym razie ma wartość 1. Symbol „|” oznacza operator OR.
Poniższa tabela przedstawia operację OR na dwóch bitach.
| x | y | x | y |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Wyjaśnijmy to na przykładzie-

W powyższym przykładzie wykonaliśmy operację OR na liczbach (11)10 i (4)10 , w wyniku czego otrzymaliśmy (15)10.
Zastosowanie:
int a = 0;
int b = 1;
>> a | b
OUTPUT: 1Wyzwanie
ŁatwyW pokoju są dwie żarówki. '0' oznacza, że światło jest wyłączone, a '1' oznacza, że światło jest włączone. Otrzymujesz dwie tablice, w których każdy element określa stan włączenia lub wyłączenia żarówek w danej godzinie. Ustal, przez ile godzin w pokoju nie było światła.
Spróbuj swoich sił
#include <iostream>
#include <vector>
using namespace std;
int hoursLightsOff(vector<int> bulb1, vector<int> bulb2) {
// Napisz kod tutaj
}Wszystkie lekcje w sekcji Operacje bitowe
Poćwicz samodzielnie: Kompilator C++ online