Otwórz sobie drzwi do kariery programisty     |        Wybierz swoją ścieżkę kariery w IT!     |       Zacznij naukę z 30% rabatem

1 dni 20 godzin
close
Cart icon
User menu icon
User icon
Skontaktuj się z nami:
+48 888-916-333
Lightbulb icon
Jak to działa?
FAQ icon
FAQ
Contact icon
Kontakt
Terms of service icon
Regulamin zakupów
Privacy policy icon
Polityka prywatności
Zdjęcie główne artykułu.

Algebra Boole’a ludzkim językiem

Co to jest

Algebra Boole’a to dział matematyki. A konkretnie, to dział algebry - jak zresztą sama nazwa wskazuje.

Darujmy sobie długi wstęp oraz skomplikowane wyjaśnienia. Skoro obiecaliśmy, że wyjaśnimy ten temat prostym językiem to przejdźmy od razu do konkretów.

Główna koncepcja

Wyobraź sobie taką sytuację: masz do dyspozycji tylko dwie cyfry 0 oraz 1. Co można z tymi dwiema cyframi zrobić? Wbrew pozorom bardzo dużo. Te dwie cyfry stoją u podstaw całej informatyki. Są fundamentem czegoś co znamy jako system binary.

Algebra Boole’a pełni w tej dziedzinie ważna rolę. Dzięki niej możemy wykonywać różne operacje na wartościach zbudowanych z zer oraz jedynek. To może teraz przyjrzyjmy się bliżej niektórym operacjom.

Negacja (inaczej: NOT)

Negacja to inaczej mówiąc zaprzeczenie. To operacja, w wyniku której otrzymamy wartość przeciwną.

Popatrzmy na przykład. Mamy wartość równą 1. Jeśli wykonamy na tej wartości operację negacji to otrzymamy wartość 0. Nie może być inaczej bo w systemie binarnym masz do dyspozycji tylko zera oraz jedynki. Czasami możesz się spotkać z taką formą zapisu:

NOT(1) = 0
NOT(0) = 1

Wykonujemy negację na wartości 1 i otrzymujemy 0. Wykonujemy negację na wartości 0 i otrzymujemy 1. Innych możliwości tutaj nie ma. Negacja jest więc najprostszą możliwą operacją. Po prostu zamieniamy zero na jedynkę albo na odwrót.

Alternatywa (inaczej: OR)

Aby wykonać operację znaną jako alternatywa potrzebujesz dwóch wartości - będą to różne kombinacje zer oraz jedynek. Popatrzmy:

0 OR 0 = 0
1 OR 0 = 1
0 OR 1 = 1
1 OR 1 = 1

Możesz to interpretować w następujący sposób:

0 lub 0 daje nam 0
1 lub 0 daje nam 1
0 lub 1 daje nam 1
1 lub 1 daje nam 1

Można by wyciągnąć pewien wniosek, który ułatwia zapamiętanie tych kombinacji. Jeżeli po prawej lub lewej stronie OR znajduje się 1 to wynik operacji jest równy 1. Tak samo, jeśli mamy 1 po obydwu stronach. Z kolei wynik 0 otrzymasz jeśli po obydwu stronach OR masz 0.

Koniunkcja (inaczej AND)

Koniunkcję możemy zapisać tak:

0 AND 0 = 0
1 AND 0 = 0
0 AND 1 = 0
1 AND 1 = 1

Słownie możemy opisać operacje w ten sposób:

0 oraz 0 daje nam 0
1 oraz 0 daje nam 0
0 oraz 1 daje nam 0
1 oraz 1 daje nam 1

Tutaj zestaw możliwych wyników jest nieco inny niż w przypadku operacji alternatywy. Zauważ, że wynik 1 otrzymasz tylko wtedy jeśli po obydwu stronach AND masz jedynki. Wszystkie pozostałe kombinacje w wyniku dają nam 0.

Przykład - operacja negacji na liczbie binarnej.

Spróbujemy teraz wykonać prostą operację na liczbie binarnej (czyli liczbie zapisanej za pomocą kombinacji zer oraz jedynek). Nasza liczba to 101. Co ciekawe, w systemie dziesiętnym jest to liczba 5.

Wykonamy negację. Musimy po kolei zaprzeczyć wszystkie cyfry tworzące naszą liczbę:

NOT(1) = 0
NOT(0) = 1
NOT(1) = 0

W wyniku otrzymamy nową liczbą binarną 010. To tylko prosty przykład, który ma pokazać jaka filozofia stoi u podstaw Algebry Boole’a.

Praktyczne zastosowania

To wszystko ma konkretne, praktyczne zastosowania. Nawet większe niż mogłoby się zdawać na pierwszy rzut oka.

Wiesz już pewnie, że komputery oraz wszelka elektronika cyfrowa bazują na systemie binarnym. I wszędzie tam gdzie mamy system binarny, jest w nim jakiś element Algebry Boole’a. Pomyśl o urządzeniach, które cię otaczają. Od laptopa po kuchenkę mikrofalową. Od smartphona po inteligentny wyłącznik światła.

O ile do korzystania z tych urządzeń znajomość negacji czy koniunkcji nie będzie ci potrzebna, to do programowania może się już przydać.

Pisanie kodu dla mikrokontrolerów czy różnego rodzaju “inteligentnych” urządzeń często odbywa się w sposób “niskopoziomowy”. Takie programowanie wymaga ręcznego definiowania operacji na wartościach binarnych. A to w praktyce oznacza m.in użycie tych operacji, o których mówiliśmy wcześniej. Są więc sytuacje, które będą od programisty wymagały znajomości takich operacji jak negacja, koniunkcja czy alternatywa.

Chcesz dowiedzieć się więcej?

W tym artykule mogliśmy przedstawić tylko niewielki wycinek tego ważnego i szerokiego tematu. Jeśli chcesz dowiedzieć się więcej na temat liczb binarnych oraz operacji typu negacja czy koniunkcja to zapraszamy do kursu Systemy Liczbowe. Znajdziesz w nim nie tylko zwięzłą teorię ale również dziesiątki zadań i ćwiczeń.