Strona główna » Algorytmy » Artykuły » Matryca Logiczna
 

Matryca Logiczna

Wstęp

W informatyce wszystkie operacje odbywają się na bitach. Zasada ich działania jest zgodna z logiką stworzoną w XIX wieku. Twórcami byli logicy amerykańscy: Charlesa Sandersa Peirce'a i Emila Leona Posta (polskiego pochodzenia). Stworzyli oni szereg tabelek przedstawiających wyniki dla każdej pary argumentów.

Poniżej zostały przedstawione wybrane, najczęściej używane operacje logiczne w matematyce oraz informatyce. Pełna matryca logiczna dla dwóch wartości logicznych p oraz q składa się z 16 różnych przekształceniach.

Operacje logiczne

Alternatywa

pqp OR q
000
101
011
111

Alternatywa jest też zwana sumą logiczną. Funkcja przyjmuje wartość prawda kiedy co najmniej jeden argument ma wartość prawda. W przeciwnym wypadku zwracany jest fałsz. Przykładowo: 2 jest parzyste OR 6 jest nieparzyste to (prawda OR fałsz) zwróci prawdę.

C++
C#
  1.   w = p || q;

Alternatywa wykluczająca

pqp XOR q
000
101
011
110

Przyjmuje prawdę dokładnie wtedy, gdy co najmniej jedna z nich jest prawdziwa. W przeciwnym wypadku zwracany jest fałsz. Przykładowo: 2 jest parzyste XOR 6 jest nieparzyste to (prawda XOR fałsz) zwróci prawdę.

C++
C#
  1.   w = p ^ q;
C++
C#
  1.   w = !(p == q);

Koniunkcja

pqp AND q
000
100
010
111

Przyjmuje prawdę dokładnie wtedy, gdy oba argumenty są prawdziwe. W przeciwnym wypadku zwracany jest fałsz. Przykładowo: 2 jest parzyste AND 6 jest nieparzyste to (prawda AND fałsz) zwróci fałsz.

C++
C#
  1.   w = p && q;

Równoważność

pqp = q
001
100
010
111

Przyjmuje prawdę dokładnie wtedy, gdy oba argumenty są identyczne. W przeciwnym wypadku zwracany jest fałsz. Przykładowo: 2 jest parzyste = 6 jest nieparzyste to (prawda = fałsz) zwróci fałsz.

C++
C#
  1.   w = p == q;

Dysjunkcja

pqp NAND q
001
101
011
110

Przyjmuje fałsz dokładnie wtedy, gdy oba argumenty są prawdziwe. W przeciwnym wypadku zwracana jest prawda. Przykładowo: 2 jest parzyste NAND 6 jest nieparzyste to (prawda NAND fałsz) zwróci fałsz.

C++
C#
  1.   w = !(p && q);

Binegacja

pqp NOR q
001
100
010
110

Zwraca prawdę, gdy oba argumenty są fałszywe. W przeciwnym wypadku zwracany jest fałsz. Przykładowo: 2 jest parzyste NOR 6 jest nieparzyste to (prawda NOR fałsz) zwróci fałsz.

C++
C#
  1.   w = !(p || q);

Negacja

p!q
01
10

Zwraca wartość zaprzeczenia dla podanego argumentu. Przykładowo: NOT 2 jest parzyste to (NOT prawda) zwróci fałsz.

C++
C#
  1.   w = !p;