Pamiętaj: Wyniki kalkulatorów mają charakter poglądowy. Dokładamy wszelkich starań, by były poprawne, ale zawsze weryfikuj je z fachowcem.

Przejdź do treści

Kalkulator operacji bitowych – AND, OR, XOR, NOT, << i >>

Wykonaj operacje bit po bicie na słowach binarnych. Kalkulator pokazuje wyrównane bity, wynik, kontrolę dziesiętną i sposób działania operatora.

Uczysz się tego tematu?

Wybierz materiał zależnie od tego, czy chcesz nauczyć się tematu, przypomnieć regułę czy przejść przez sposób rozwiązania zadania.

AK

Akademia informatyki

Przejdź przez temat po kolei: systemy liczbowe, bity, U2, dane cyfrowe i multimedia.

Otwórz →
TAB

Tablica informatyki

Szybko sprawdź potęgi 2, zakresy, operacje bitowe, jednostki i najważniejsze wzory.

Otwórz →
POR

Jak rozwiązywać zadania?

Zobacz, jak rozpoznać typ zadania, dobrać sposób liczenia i skontrolować wynik.

Otwórz →

Dane do operacji

Wpisuj liczby binarne złożone z 0 i 1. Krótsze liczby są uzupełniane zerami z lewej strony.
Operacje są wykonywane na nieujemnym słowie o stałej szerokości. NOT odwraca tylko bity należące do wybranego słowa. Przesunięcie w prawo jest logiczne, więc z lewej strony wchodzą zera.

Wynik

Wynik binarny
Wartość dziesiętna
Operator
Operacja na słowie
Wniosek
Uzupełnij dane.

Zostań w temacie i policz dalej

Rozwiązujesz zadania z informatyki? Te narzędzia najczęściej przydają się jako następny krok.

BIN

Jak dodawać liczby binarne?

Wykonaj dodawanie, odejmowanie i mnożenie w systemie binarnym.

Policz arytmetykę binarną →
U2

Jak działają liczby ujemne w U2?

Sprawdź kodowanie ze znakiem, zakres i przepełnienie.

Przejdź do kalkulatora U2 →
2ⁿ

Ile bitów potrzeba dla N wartości?

Policz liczbę kombinacji i minimalną szerokość słowa.

Policz liczbę bitów →
HEX

Jak zamienić BIN na DEC i HEX?

Przelicz wartości pomiędzy najczęstszymi systemami liczbowymi.

Przejdź do systemów liczbowych →

Co dzieje się z bitami?

  1. Wybierz operator i wpisz słowo binarne.

Czym są operacje bitowe?

Operacje bitowe działają bezpośrednio na poszczególnych bitach liczby. W operatorach AND, OR i XOR porównywane są bity znajdujące się na tych samych pozycjach w dwóch słowach. NOT działa na jednym słowie i zamienia każdy bit na przeciwny.

Przykładowo dla dwóch 8-bitowych słów pierwszy bit A jest zestawiany z pierwszym bitem B, drugi z drugim i tak dalej. Każda para daje dokładnie jeden bit wyniku.

A 10101100 B 11001010 -------- AND 10001000

Operator bitowy nie jest tym samym co działanie arytmetyczne. `1010 AND 1100` nie oznacza mnożenia dwóch liczb ani działania logicznego na całych wartościach — wynik powstaje osobno dla każdej pozycji bitowej.

Do dodawania i odejmowania liczb BIN służy kalkulator arytmetyki binarnej. Liczby ze znakiem są natomiast osobno obsługiwane przez kalkulator U2.

AND – kiedy bit wyniku ma wartość 1?

AND daje 1 tylko wtedy, gdy oba porównywane bity mają wartość 1. W każdym innym przypadku wynik na danej pozycji wynosi 0.

ABA AND B
000
010
100
111

AND jest często używany do maskowania bitów. Jeżeli w masce na określonej pozycji znajduje się 0, odpowiadający bit wyniku zostaje wyzerowany. Jedynka w masce zachowuje wartość badanego bitu.

bit AND 1 = bit     |     bit AND 0 = 0

To pozwala np. sprawdzić, czy określony bit liczby jest ustawiony.

OR – ustawienie bitu, gdy wystarczy jedna jedynka

OR daje 1 wtedy, gdy co najmniej jeden z porównywanych bitów jest równy 1. Tylko para 0 i 0 daje wynik 0.

ABA OR B
000
011
101
111

OR przydaje się do ustawiania wybranych bitów. Jeżeli w masce znajduje się 1, wynik na tej pozycji na pewno stanie się 1. Zero pozostawia badany bit bez zmiany.

bit OR 0 = bit     |     bit OR 1 = 1

Dlatego maski OR są wygodne, gdy chcemy włączyć konkretną flagę bez zmiany pozostałych bitów.

XOR – jedynka tylko dla różnych bitów

XOR, czyli alternatywa rozłączna, daje 1 wtedy, gdy dwa porównywane bity są różne. Para 0/0 oraz 1/1 daje wynik 0.

ABA XOR B
000
011
101
110

XOR można wykorzystać do przełączania wskazanych bitów. XOR z 0 pozostawia bit bez zmiany, a XOR z 1 odwraca go.

bit XOR 0 = bit     |     bit XOR 1 = NOT(bit)

W zadaniach szkolnych ważne jest przede wszystkim zapamiętanie, że XOR sprawdza różność bitów.

NOT – dlaczego szerokość słowa ma znaczenie?

NOT zamienia każdy bit 0 na 1 i każdy bit 1 na 0. W przeciwieństwie do AND, OR i XOR potrzebuje tylko jednego argumentu.

NOT 0 = 1     |     NOT 1 = 0

Trzeba jednak wiedzieć, ile bitów ma słowo. Dla 4 bitów `NOT 0011` daje `1100`, a dla 8 bitów `NOT 00000011` daje `11111100`. To dwie różne wartości.

Kalkulator stosuje maskę odpowiadającą wybranej szerokości. Dzięki temu wynik zawsze ma dokładnie 4, 8, 16, 32 albo 64 bity.

Nie interpretujemy tutaj najstarszego bitu jako znaku. Jeśli potrzebujesz interpretacji liczb ujemnych, przejdź do kalkulatora U2.

Przesunięcie w lewo << – mnożenie przez potęgę 2

Logiczne przesunięcie w lewo przenosi wszystkie bity o podaną liczbę pozycji w lewo. Z prawej strony pojawiają się zera. Bity, które wychodzą poza ustaloną szerokość słowa, są tracone.

00101101 << 2 ------------ 10110100

Jeżeli żaden istotny bit nie zostanie odrzucony, przesunięcie o 1 pozycję odpowiada mnożeniu przez 2, o 2 pozycje przez 4, a o k pozycji przez 2k.

A << k ≈ A × 2k — o ile wynik mieści się w słowie

Przy stałej szerokości może wystąpić utrata starszych bitów. Wtedy wartość otrzymana w słowie nie jest już pełnym wynikiem arytmetycznego mnożenia.

Kalkulator pokazuje wynik po ograniczeniu do wybranej liczby bitów.

Logiczne przesunięcie w prawo >>

Przesunięcie w prawo przenosi bity w stronę mniej znaczących pozycji. Bity wypadające z prawej strony są tracone, a z lewej strony dopisywane są zera.

10110100 >> 2 ------------ 00101101

Dla liczby nieujemnej przesunięcie o 1 odpowiada dzieleniu całkowitemu przez 2, o 2 — przez 4, a ogólnie przez 2k.

A >> k = floor(A / 2k)

Ten kalkulator wykonuje przesunięcie logiczne. Z lewej zawsze pojawia się zero. Nie wykonuje arytmetycznego przesunięcia liczby ujemnej z kopiowaniem bitu znaku.

Rozdzielenie tych dwóch przypadków jest ważne w zadaniach o słowach bez znaku i U2.

Dla ucznia i studenta – jak rozwiązać zadanie z operatorami bitowymi?

1. Ustal szerokość słowa. Szczególnie przy NOT i przesunięciu w lewo wynik zależy od liczby dostępnych bitów.

2. Wyrównaj oba argumenty do prawej. Krótszy zapis uzupełnij zerami z lewej strony.

3. Dla AND, OR i XOR pracuj kolumnami. Każda para bitów tworzy jeden bit wyniku zgodnie z tabelą operatora.

4. Dla NOT odwróć każdy bit. Nie dodawaj 1 — dodanie 1 jest elementem tworzenia liczby ujemnej w U2, a nie zwykłego NOT.

5. Przy przesunięciu policz pozycje. W `<<` zera wchodzą z prawej, w logicznym `>>` z lewej.

6. Sprawdź bity odrzucone poza słowo. Przy `<<` mogą one zmienić wynik względem pełnego mnożenia przez potęgę 2.

Do ćwiczenia dodawania i odejmowania bitów użyj kalkulatora arytmetyki binarnej. Do liczb ujemnych i przepełnienia ze znakiem służy kalkulator U2.

Pozostałe narzędzia szkolne i praktyczne znajdziesz w kategorii Informatyka.

Najczęstsze błędy w operacjach bitowych

  • Mylenie AND z mnożeniem. Operator działa osobno na bitach, nie mnoży całych liczb.
  • Mylenie OR z dodawaniem. 1 OR 1 daje 1, a nie 10₂.
  • XOR traktowany jak OR. Dla 1 i 1 XOR daje 0.
  • NOT bez ustalonej liczby bitów. Wynik negacji zależy od szerokości słowa.
  • Brak wyrównania argumentów. Bity o tej samej wadze muszą znaleźć się w tej samej kolumnie.
  • Zakładanie, że `A << 1` zawsze równa się pełnemu `A × 2`. Przy stałej szerokości starszy bit może zostać odrzucony.
  • Mylenie logicznego i arytmetycznego `>>`. Tutaj z lewej strony zawsze dopisywane są zera.

Zadania do samodzielnego rozwiązania

Wykonaj operację bit po bicie, a następnie kliknij „Pokaż wynik”.

Zadanie 1 – AND i XOR

Dla A = 10110110 i B = 11001100 oblicz A AND B oraz A XOR B.

A 10110110 B 11001100 AND 10000100 XOR 01111010

AND = 10000100, XOR = 01111010.

Zadanie 2 – NOT

Oblicz NOT dla 8-bitowego słowa 00110101.

Każde 0 zamieniamy na 1, a każdą 1 na 0.

A 00110101 NOT 11001010

Wynik: 11001010.

Zadanie 3 – przesunięcia

Dla 8-bitowego A = 00101101 oblicz A << 2 oraz A >> 2.

A 00101101 A << 2 10110100 A >> 2 00001011

Wyniki: 10110100 oraz 00001011.

Szybka reguła dla masek bitowych

AND z 1 zachowuje bit, OR z 1 ustawia bit, XOR z 1 przełącza bit. Ta trójka reguł pomaga szybko zrozumieć, dlaczego maski bitowe są użyteczne.

Dla zera odpowiednio: AND zeruje bit, OR pozostawia go bez zmiany, XOR również pozostawia bez zmiany.

Powiązane narzędzia informatyczne

Do działań arytmetycznych na BIN przejdź do kalkulatora arytmetyki binarnej.

Do liczb ze znakiem, kodowania ujemnych wartości i przepełnienia użyj kalkulatora U2.

Jeśli chcesz tylko zmienić system zapisu liczby, użyj kalkulatora systemów liczbowych.

Pozostałe narzędzia są dostępne w kategorii Informatyka.

Wskazówka od KalkulatorXXL

Przed ręcznym działaniem zapisz oba argumenty na tej samej liczbie bitów. Dzięki temu każda kolumna odpowiada tej samej wadze: 1, 2, 4, 8, 16 itd.

Przy NOT i przesunięciach zawsze zaznacz szerokość słowa. Bez tej informacji wynik może być niejednoznaczny.

Najczęstsze pytania o operacje bitowe

To działania wykonywane bezpośrednio na bitach liczby. AND, OR i XOR porównują bity na tych samych pozycjach, NOT je odwraca, a operatory przesunięcia zmieniają ich pozycje.

Tylko wtedy, gdy oba porównywane bity mają wartość 1.

Gdy co najmniej jeden z dwóch porównywanych bitów ma wartość 1.

Gdy porównywane bity są różne: 0 i 1 albo 1 i 0.

Odwraca każdy bit w ustalonym słowie: 0 staje się 1, a 1 staje się 0.

Bo negacja 0011 na 4 bitach daje 1100, a ta sama wartość zapisana na 8 bitach jako 00000011 po NOT daje 11111100.

Przesuwa bity w lewo, dopisuje zera z prawej i odrzuca bity wychodzące poza szerokość słowa.

Przesuwa bity w prawo, odrzuca najmłodsze bity i dopisuje zera z lewej strony.

Dla słowa bez znaku tak, jeśli ustawiony starszy bit nie zostanie utracony poza ustaloną szerokością.

Dla nieujemnego słowa i logicznego przesunięcia jest to dzielenie całkowite przez 2.

OR dla pary 1 i 1 daje 1, natomiast XOR daje 0, ponieważ XOR ustawia 1 tylko wtedy, gdy bity są różne.

Nie. Ten kalkulator działa na nieujemnych słowach bitowych. Liczby ze znakiem i przepełnienie U2 mają osobny kalkulator.

Nie. Dodawanie, odejmowanie i mnożenie liczb BIN są dostępne w osobnym kalkulatorze arytmetyki binarnej.

Tak. Pokazuje wyrównane słowa, wynik, regułę operatora i kolejne działania na pozycjach bitowych.