Xor poprzez podstawowe operacje. Podstawowe operacje logiczne (i, lub, xor, nie)

Dom / Urządzenia mobilne

W tym artykule opowiem Ci jak działają operacje bitowe. Na pierwszy rzut oka mogą wydawać się skomplikowane i bezużyteczne, ale w rzeczywistości wcale tak nie jest. Właśnie do tego będę starał się Cię przekonać.

Wstęp

Operatory bitowe działają bezpośrednio na bitach liczby, dlatego liczby w przykładach będą binarne.

Omówię następujące operatory bitowe:

  • | (Bitowe LUB),
  • & (bitowe ORAZ (AND)),
  • ^ (Wyłączne LUB (XOR)),
  • ~ (Negacja bitowa (NIE)),
  • << (Побитовый сдвиг влево),
  • >> (Przesunięcie bitowe w prawo).

Operacje bitowe badane są w matematyce dyskretnej, a także stanowią podstawę technologii cyfrowej, ponieważ opiera się na nich logika działania bramek logicznych, podstawowych elementów obwodów cyfrowych. W matematyce dyskretnej, podobnie jak w inżynierii cyfrowej, do opisu ich działania stosuje się tablice prawdy. Tablice prawdy, jak sądzę, znacznie ułatwiają zrozumienie operacji bitowych, dlatego przedstawię je w tym artykule. Jednakże prawie nigdy nie są one używane w objaśnieniach operatorów bitowych w językach programowania wysokiego poziomu.

Musisz także wiedzieć o operatorach bitowych:

  1. Niektóre operatory bitowe są podobne do operatorów, które prawdopodobnie znasz (&&, ||). Dzieje się tak dlatego, że pod pewnymi względami są one rzeczywiście podobne. Jednak w żadnym wypadku nie należy ich mylić.
  2. Większość operacji bitowych to złożone operacje przypisania.

Bitowe LUB

Bitowe LUB działa podobnie jak logiczne LUB, ale jest stosowane do każdej pary bitów liczby binarnej. Bit binarny wyniku wynosi 0 tylko wtedy, gdy oba odpowiednie bity mają wartość 0. We wszystkich pozostałych przypadkach wynikiem binarnym jest 1. To znaczy, jeśli mamy następującą tabelę prawdy:

38 | 53 będzie tak:

A 0 0 1 0 0 1 1 0
B 0 0 1 1 0 1 0 1
| B 0 0 1 1 0 1 1 1

W rezultacie otrzymujemy 110111 2 lub 55 10.

Bitowe AND

Bitowe AND jest rodzajem operacji odwrotnej do bitowego OR. Cyfrą binarną wyniku jest 1 tylko wtedy, gdy oba odpowiadające sobie bity operandu są równe 1. Innymi słowy, możemy powiedzieć, że cyfry binarne liczby wynikowej są wynikiem pomnożenia odpowiednich bitów operandu: 1x1 = 1, 1x0 = 0. Poniższa tabela prawdy odpowiada bitowemu AND:

Przykład bitowego AND działającego na wyrażeniach 38 i 53:

A 0 0 1 0 0 1 1 0
B 0 0 1 1 0 1 0 1
A&B 0 0 1 0 0 1 0 0

W rezultacie otrzymujemy 100100 2 lub 36 10.

Możesz użyć bitowego operatora AND, aby sprawdzić, czy liczba jest parzysta czy nieparzysta. W przypadku liczb całkowitych, jeśli najmniej znaczący bit wynosi 1, liczba jest nieparzysta (w oparciu o konwersję z postaci binarnej na dziesiętną). Dlaczego jest to konieczne, jeśli możesz po prostu użyć% 2? Na przykład na moim komputerze &1 działa 66% szybciej. Całkiem niezły wzrost wydajności, powiem wam.

Ekskluzywne LUB (XOR)

Różnica między XOR a bitowym OR polega na tym, że aby uzyskać 1, tylko jeden bit w parze może być 1:

Na przykład wyrażenie 138^43 będzie równe...

A 1 0 0 0 1 0 1 0
B 0 0 1 0 1 0 1 1
A^B 1 0 1 0 0 0 0 1

… 10100001 2 lub 160 10

Za pomocą ^ możesz zmienić wartości dwóch zmiennych (mających ten sam typ danych) bez użycia zmiennej tymczasowej.

Możesz także szyfrować tekst za pomocą wyłącznego OR. Aby to zrobić, wystarczy iterować po wszystkich znakach i ^ je za pomocą znaku kluczowego. W przypadku bardziej złożonego szyfru możesz użyć ciągu znaków:

String msg = "To jest wiadomość"; wiadomość char = msg.toCharArray(); Klucz ciągu = ".*)"; String zaszyfrowanyString = nowy String(); for(int i = 0; tj< message.length; i++){ encryptedString += message[i]^key.toCharArray(); }

XOR nie jest najbezpieczniejszą metodą szyfrowania, ale może stanowić część algorytmu szyfrowania.

Negacja bitowa (NIE)

Negacja bitowa odwraca wszystkie bity operandu. Oznacza to, że to, co było 1, stanie się 0 i odwrotnie.

Na przykład tutaj jest operacja ~52:

A 0 0 1 1 0 1 0 0
~A 1 1 0 0 1 0 1 1

Wynik będzie 203 10

W przypadku stosowania negacji bitowej znak wyniku będzie zawsze przeciwny do pierwotnej liczby (w przypadku pracy z liczbami ze znakiem). Dowiedz się, dlaczego dzieje się to właśnie teraz.

Dodatkowy kod

W tym miejscu powinienem opowiedzieć trochę o sposobie przedstawiania ujemnych liczb całkowitych w komputerze, a mianowicie o kodzie uzupełnienia do dwójki. Nie wchodząc w szczegóły, konieczne jest ułatwienie arytmetyki liczb binarnych.

Najważniejszą rzeczą, którą musisz wiedzieć o liczbach zapisanych w uzupełnieniu do dwójki, jest to, że najbardziej znaczący bit jest podpisany. Jeśli wynosi 0, to liczba jest dodatnia i pokrywa się z reprezentacją tej liczby w kodzie bezpośrednim, a jeśli 1, to jest ujemna. Oznacza to, że 10111101 jest liczbą ujemną, a 01000011 jest liczbą dodatnią.

Aby przekonwertować liczbę ujemną na jej uzupełnienie do dwóch, należy odwrócić wszystkie bity liczby (zasadniczo stosując negację bitową) i dodać 1 do wyniku.

Na przykład, jeśli mamy 109:

A 0 1 1 0 1 1 0 1
~A 1 0 0 1 0 0 1 0
~A+1 1 0 0 1 0 0 1 1

Powyższą metodą otrzymujemy -109 w kodzie uzupełnienia do dwóch.
Właśnie zostało zaprezentowane bardzo uproszczone wyjaśnienie dodatkowego kodu i gorąco zachęcam do dokładniejszego przestudiowania tego tematu.

Przesunięcie bitowe w lewo

Przesunięcia bitowe różnią się nieco od operacji bitowych omówionych wcześniej. Bitowe przesunięcie w lewo przesuwa bity swojego operandu o liczbę N bitów w lewo, zaczynając od najmniej znaczącego bitu. Puste miejsca po przesunięciu są wypełniane zerami. Dzieje się tak:

A 1 0 1 1 0 1 0 0
A<<2 1 1 0 1 0 0 0 0

Ciekawą cechą przesunięcia w lewo o N pozycji jest to, że jest to równoznaczne z pomnożeniem liczby przez 2 N . Więc 43<<4 == 43*Math.pow(2,4) . Использование сдвига влево вместо Math.pow обеспечит неплохой прирост производительности.

Przesunięcie bitowe w prawo

Jak można się domyślić, >> przesuwa bity operandu o określoną liczbę bitów w prawo.

Jeśli operand jest dodatni, puste przestrzenie są wypełniane zerami. Jeśli początkowo pracujemy z liczbą ujemną, wówczas wszystkie puste przestrzenie po lewej stronie są wypełnione jedynkami. Ma to na celu zachowanie znaku zgodnie z dodatkowym kodem wyjaśnionym wcześniej.

Ponieważ przesunięcie bitowe w prawo jest operacją odwrotną do przesunięcia bitowego w lewo, łatwo zgadnąć, że przesunięcie liczby w prawo o liczbę N pozycji również dzieli tę liczbę przez 2 N . Ponownie jest to znacznie szybsze niż normalne dzielenie.

Wniosek

Więc teraz wiesz więcej o operacjach bitowych i nie boisz się ich. Mogę założyć, że nie będziesz używać >>1 przy każdym dzieleniu przez 2. Jednak operacje bitowe warto mieć w swoim arsenale i teraz możesz z nich skorzystać, jeśli zajdzie taka potrzeba lub odpowiedzieć na trudne pytanie na rozmowie kwalifikacyjnej.

Często, aby zademonstrować ograniczone możliwości perceptronów jednowarstwowych przy rozwiązywaniu problemów, uciekają się do rozpatrywania tzw. problemu XOR – wyłączne OR.

Istota zadania jest następująca. Podana jest funkcja logiczna XOR - wyłączne OR. Jest to funkcja dwóch argumentów, z których każdy może wynosić zero lub jeden. Przyjmuje wartość , gdy jeden z argumentów jest równy jeden, ale nie oba, w przeciwnym razie. Problem można zilustrować za pomocą jednowarstwowego, jednoneuronowego i dwuwejściowego układu, jak pokazano na poniższym rysunku.

Oznaczmy jedno wejście przez , a drugie przez , wtedy wszystkie ich możliwe kombinacje będą składać się z czterech punktów na płaszczyźnie. Poniższa tabela pokazuje wymaganą relację między danymi wejściowymi i wynikami, gdzie kombinacje danych wejściowych, które powinny dać zerowy wynik, są oznaczone etykietą i , a pojedyncze wyjście jest oznaczone etykietą i .

Zwrotnica Oznaczający Oznaczający Wymagane wyjście
0 0 0
1 0 1
0 1 1
1 1 0

Jeden neuron z dwoma wejściami może utworzyć powierzchnię decyzyjną w postaci dowolnej linii prostej. Aby sieć realizowała funkcję XOR podaną w powyższej tabeli, należy ustawić linię tak, aby punkty znajdowały się po jednej stronie linii, a punkty po drugiej. Próbując narysować taką linię prostą na poniższym rysunku, jesteśmy przekonani, że jest to niemożliwe. Oznacza to, że niezależnie od tego, jakie wartości zostaną przypisane wagom i progom, jednowarstwowa sieć neuronowa nie jest w stanie odtworzyć zależności pomiędzy wejściem i wyjściem wymaganej do reprezentowania funkcji XOR.

Jednakże funkcję XOR można łatwo utworzyć w sieci dwuwarstwowej i to na wiele sposobów. Rozważmy jedną z tych metod. Zmodernizujmy sieć na rysunku, dodając kolejną ukrytą warstwę neuronów:

Zauważ to tej sieci podane tak jak jest, tj. możemy założyć, że została już przeszkolona. Liczby nad strzałkami pokazują wartości wag synaptycznych. Jako funkcję aktywacji użyjemy funkcji pojedynczego skoku z progiem mającym następujący wykres:

Następnie wynik działania takiej sieci neuronowej można przedstawić w postaci poniższej tabeli:

Zwrotnica Oznaczający Oznaczający Wymagane wyjście
0 0 0 0 0 0
1 0 1 1 0 1
0 1 1 0 1 1
1 1 0 0 0 0

Każdy z dwóch neuronów warstwy pierwszej tworzy powierzchnię decyzyjną w postaci dowolnej linii prostej (dzielącej płaszczyznę na dwie półpłaszczyzny), natomiast neuron warstwy wyjściowej łączy te dwa rozwiązania, tworząc powierzchnię decyzyjną w postać paska utworzonego przez równoległe linie proste neuronów pierwszej warstwy:

Sieć neuronowa wykorzystana w tym artykule do rozwiązania problemu XOR jest prymitywna i nie wykorzystuje w pełni możliwości sieci wielowarstwowych. Oczywiście wielowarstwowe sieci neuronowe mają większą zdolność reprezentowania niż jednowarstwowe tylko w obecności nieliniowości. W tej sieci stosowana jest funkcja aktywacji liniowej progu. Takiej sieci nie da się wytrenować np. za pomocą algorytmu propagacji wstecznej.

Absolutnie wszystkie mikroukłady cyfrowe składają się z tych samych elementów logicznych - „cegiełek” dowolnego węzła cyfrowego. O tym teraz porozmawiamy.

Element logiczny- To jest obwód, który ma kilka wejść i jedno wyjście. Każdemu stanowi sygnałów na wejściach odpowiada konkretny sygnał na wyjściu.

Jakie są zatem elementy?

Element „ORAZ”

W przeciwnym razie nazywa się to „łącznikiem”.

Aby zrozumieć, jak to działa, należy narysować tabelę zawierającą stany wyjściowe dla dowolnej kombinacji sygnałów wejściowych. Ta tabela nazywa się „ tabela prawdy" Tablice prawdy są szeroko stosowane w technologii cyfrowej do opisu działania obwodów logicznych.

Tak wygląda element „AND” i jego tabela prawdy:

Ponieważ będziesz musiał komunikować się zarówno z technologią rosyjską, jak i burżuazyjną. dokumentacji dostarczę symboliczne symbole graficzne (GID) elementów zarówno według naszych jak i nienaszych standardów.

Patrzymy na tabelę prawdy i wyjaśniamy zasadę w naszym mózgu. Nie jest to trudne do zrozumienia: jednostka na wyjściu elementu „AND” występuje tylko wtedy, gdy jednostki są dostarczane na oba wejścia. To wyjaśnia nazwę elementu: jednostki muszą znajdować się ZARÓWNO na jednym, jak i na drugim wejściu.

Jeśli spojrzymy na to trochę inaczej, możemy powiedzieć tak: wyjście elementu „AND” będzie wynosić zero, jeśli zero zostanie zastosowane na co najmniej jednym z jego wejść. Pamiętajmy. Przejdźmy dalej.

element LUB

W inny sposób nazywany jest „dysjunktorem”.

Podziwiamy:

Ponownie nazwa mówi sama za siebie.

Jednostka pojawia się na wyjściu, gdy jednostka zostanie zastosowana do jednego LUB do drugiego LUB do obu wejść jednocześnie. Element ten można również nazwać elementem „AND” dla logiki ujemnej: zero na jego wyjściu pojawia się tylko wtedy, gdy zera zostaną podane zarówno na jedno, jak i na drugie wejście.

UWAGA, element

Częściej nazywany jest „inwerterem”.

Czy muszę coś mówić o jego twórczości?

element NAND

Bramka NAND działa dokładnie tak samo jak bramka AND, tylko sygnał wyjściowy jest całkowicie przeciwny. Tam, gdzie element „AND” powinien mieć wynik „0”, element „AND-NOT” powinien mieć jeden. I odwrotnie. Łatwo to zrozumieć na podstawie równoważnego obwodu elementu:

Element „NOR” (NOR)

Ta sama historia - element „OR” z falownikiem na wyjściu.

Następny towarzysz jest trochę bardziej przebiegły:
Ekskluzywny element OR (XOR)

On jest taki:

Operację, którą wykonuje, często nazywa się „dodawaniem modulo 2”. W rzeczywistości dodatki cyfrowe są zbudowane na tych elementach.

Spójrzmy na tabelę prawdy. Kiedy jednostka wyjściowa? Poprawnie: gdy wejścia mają różne sygnały. Na jednym - 1, na drugim - 0. Taki jest przebiegły.

Równoważny obwód wygląda mniej więcej tak:

Nie ma potrzeby zapamiętywania tego.

Właściwie są to główne elementy logiczne. Na ich podstawie budowane są absolutnie wszelkie mikroukłady cyfrowe. Nawet twój ulubiony Pentium 4.

I wreszcie kilka mikroukładów zawierających elementy cyfrowe. Numery odpowiednich nóg mikroukładu są wskazane w pobliżu zacisków elementów. Wszystkie wymienione tutaj żetony mają 14 nóg. Zasilanie jest dostarczane do nóg 7 (-) i 14 (+). Napięcie zasilania – patrz tabela w poprzednim akapicie.

Wskazane przez figurę retoryczną „albo... albo...” Zdanie złożone „albo A albo B” jest prawdziwe, gdy prawdziwe jest albo A, albo B, ale nie oba; V W przeciwnym razie zdanie złożone jest fałszywe.

Te. wynik jest prawdziwy (równy 1), Jeśli A nie jest równe B (A≠B).

Operację tę często porównuje się do alternatywy, ponieważ mają one bardzo podobne właściwości i obie mają podobieństwa do spójnika „lub” w mowie potocznej. Porównaj zasady tych operacji:

1. prawda, jeśli jest prawdziwa Lub , Lub oba na raz.

2. prawda, jeśli jest prawdziwa Lub, Ale Nie oba na raz.

Działanie wyklucza ta druga opcja („oba na raz”) i dlatego nazywana jest wyłącznym „LUB”. Niejasność językiem naturalnym jest to, że spójnik „lub” może zostać użyty w obu przypadkach.

5. Implikacja (konsekwencja logiczna) powstaje poprzez połączenie dwóch zdań w jedno przy użyciu figury retorycznej „jeśli… to…”.

Nagranie: A®B

Zdanie złożone utworzone w wyniku operacji implikacji jest fałszywe wtedy i tylko wtedy, gdy z prawdziwej przesłanki (pierwsze zdanie) wynika fałszywy wniosek (drugie zdanie).

Te. jeśli 1 oznacza 0, to wynik wynosi 0, w pozostałych przypadkach – 1.

Na przykład stwierdzenie „Jeśli liczba jest podzielna przez 10, to jest podzielna przez 5” jest prawdziwe, ponieważ zarówno pierwsze, jak i drugie stwierdzenie są prawdziwe.

Stwierdzenie „Jeśli liczba jest podzielna przez 10, to jest podzielna przez 3” jest fałszywe, ponieważ z prawdziwych przesłanek wyciąga się fałszywy wniosek.

„Ten czworokąt jest kwadratem” (A) I „Dookoła danego czworokąta można opisać okrąg” (W). Następnie instrukcja złożona brzmi jako „Jeśli dany czworokąt jest kwadratem, można wokół niego narysować okrąg”.

W mowie zwykłej łącznik „jeśli... to” opisuje związek przyczynowo-skutkowy pomiędzy stwierdzeniami. Ale w operacjach logicznych znaczenie instrukcji nie jest brane pod uwagę. Brana jest pod uwagę tylko ich prawdziwość lub fałszywość. Nie należy zatem wstydzić się „bezsensu” implikacji, jakie tworzą wypowiedzi zupełnie niezwiązane merytorycznie. Na przykład tak: „jeśli prezydent Stanów Zjednoczonych jest demokratą, to w Afryce są żyrafy”, „jeśli arbuz to jagoda, to na stacji benzynowej jest benzyna”.

6. Równoważność (równość logiczna, ~ º Û) powstaje poprzez połączenie dwóch zdań w jedno przy użyciu figury retorycznej „...wtedy i tylko wtedy, gdy…”

Instrukcja złożona utworzona w wyniku operacji równoważności jest prawdziwa wtedy i tylko wtedy, gdy oba stwierdzenia są jednocześnie fałszywe lub prawdziwe.

Na przykład stwierdzenia „Komputer może wykonywać obliczenia wtedy i tylko wtedy, gdy jest włączony” oraz „Komputer nie może wykonywać obliczeń wtedy i tylko wtedy, gdy nie jest włączony” są prawdziwe, ponieważ oba proste stwierdzenia są jednocześnie prawdziwe.


Tablice prawdy

Dla każdego zdania złożonego (funkcji logicznej) można skonstruować tablicę prawdy, która określa jego prawdziwość lub fałszywość dla wszystkich możliwych kombinacji wartości początkowych prostych zdań.

Tabela prawdy to jest widok tabeli obwód logiczny(operacje), który wyszczególnia wszystkie możliwe kombinacje wartości logicznych sygnałów wejściowych (operandów) wraz z wartością logiczną sygnału wyjściowego (wynik operacji) dla każdej z tych kombinacji.

Zastanówmy się nad tym, co omówiliśmy powyżej operacje logiczne w tabeli prawdy:

W algebrze zdań wszystkie funkcje logiczne poprzez przekształcenia logiczne można sprowadzić do trzech podstawowych: logicznego dodawania, logicznego mnożenia i logicznej negacji.

Udowodnijmy, że operacja implikacji A®B jest równoważna wyrażeniu logicznemu:

Operacja wyłączne OR (nierównoważność, dodawanie modulo dwa) jest oznaczona symbolem i różni się od logicznego OR tylko wtedy, gdy A=1 i B=1.

Zatem rozbieżność dwóch stwierdzeń X1 i X2 nazywana jest stwierdzeniem Y, które jest prawdziwe wtedy i tylko wtedy, gdy jedno z tych stwierdzeń jest prawdziwe, a drugie fałszywe.

Definicję tej operacji można zapisać w formie tablicy prawdy (tabela 6):

Tabela 6 – Tabela prawdy operacji „WYŁĄCZNIE LUB”.

Jak widać z tabeli 6, logika działania elementu odpowiada jego nazwie.

Jest to ten sam element „OR” z jedną małą różnicą. Jeżeli wartość na obu wejściach jest równa wartości logicznej, wówczas wynikiem elementu „WYŁĄCZNIE LUB”, w przeciwieństwie do elementu „OR”, nie jest jeden, ale zero.

Operacja EXCLUSIVE OR w rzeczywistości porównuje dwie cyfry binarne w celu dopasowania.

Każdy łącznik logiczny traktowany jest jako operacja na zdaniach logicznych i ma swoją nazwę oraz oznaczenie (tabela 7).

Tabela 7 – Podstawowe operacje logiczne

Oznaczenie

operacje

Czytanie

Nazwa operacji

Alternatywne oznaczenia

Negacja (inwersja)

Linia na górze

Koniunkcja (mnożenie logiczne)

Dysjunkcja (dodatek logiczny)

Jeśli... to

Implikacja

Wtedy i tylko wtedy

Równorzędność

Albo… albo

WYŁĄCZNIE LUB (dodatek modulo 2)

  1. Kolejność operacji logicznych w złożonym wyrażeniu logicznym

System operacji logicznych inwersji, koniunkcji i alternatywy pozwala na konstruowanie dowolnie złożonych wyrażenie logiczne.

Przy obliczaniu wartości wyrażenia logicznego przyjmuje się pewną kolejność operacji logicznych.

1. Inwersja.

2. Koniunkcja.

3. Dysjunkcja.

4. Implikacja.

5. Równoważność.

Nawiasy służą do zmiany określonej kolejności operacji.

  1. Wyrażenia logiczne i tablice prawdy

    1. Wyrażenia logiczne

Każde zdanie złożone można wyrazić w postaci wzoru (wyrażenia logicznego), który zawiera zmienne logiczne, oznaczające stwierdzenia i znaki operacji logicznych, oznaczające funkcje logiczne.

Aby zapisać zdanie złożone w postaci wyrażenia logicznego w języku formalnym (języku algebry logiki), w zdaniu złożonym należy zidentyfikować zdania proste i logiczne między nimi powiązania.

Zapiszmy w formie wyrażenia logicznego zdanie złożone „(2·2=5 lub 2∙2=4) oraz (2∙2≠5 lub 2∙ 2 4)”.

Przeanalizujmy instrukcję złożoną. Zawiera dwa proste stwierdzenia:

A = „2 2=5” – fałsz (0),

B = „2 2=4” – prawda (1).

Wówczas zdanie złożone można zapisać w postaci:

«( ALubW) i (Ā lubW)».

Teraz musisz napisać instrukcję w formie wyrażenia logicznego, biorąc pod uwagę sekwencję operacji logicznych. Podczas wykonywania operacji logicznych ustalana jest następująca kolejność ich wykonywania:

inwersja, koniunkcja, dysjunkcja.

Aby zmienić określoną kolejność, można użyć nawiasów:

F = (AwW) & (Ā wW).

Prawdziwość lub fałszywość zdań złożonych można ustalić czysto formalnie, kierując się prawami algebry zdań, bez odwoływania się do treści semantycznej zdań.

Podstawmy wartości zmiennych logicznych do wyrażenia logicznego i korzystając z tablic prawdy podstawowych operacji logicznych otrzymamy wartość funkcji logicznej:

F= (A v B) i ( Ā v B) = (0 v 1) i (1 v 0) = 1 i 1 = 1.

      Tablice prawdy

Tabele, w których operacje logiczne odzwierciedlają wyniki obliczeń zdań złożonych dla różnych wartości oryginalnych prostych stwierdzeń, nazywane są tablicami prawdy.

Proste instrukcje są oznaczone zmiennymi (na przykład A i B).

Konstruując tabele prawdy, zaleca się kierować się określoną sekwencją działań:

    konieczne jest określenie liczby wierszy tabeli prawdy. Jest równa ilości możliwe kombinacje wartości zmiennych logicznych zawartych w wyrażeniu logicznym. Jeśli liczba zmiennych logicznych jest równa P, To:

liczba linii = 2 N .

W naszym przypadku funkcja logiczna

ma 2 zmienne i dlatego liczba wierszy w tabeli prawdy musi wynosić 4;

    należy określić liczbę kolumn tabeli prawdy, która jest równa liczbie zmiennych logicznych plus liczba operacji logicznych.

W naszym przypadku liczba zmiennych wynosi dwa: A i B, a liczba operacji logicznych wynosi pięć (tabela 8), czyli liczba kolumn tabeli prawdy wynosi siedem;

    należy zbudować tabelę prawdy z określoną liczbą wierszy i kolumn, wyznaczyć kolumny i wprowadzić do tabeli możliwe zbiory wartości oryginalnych zmiennych logicznych;

    należy wypełnić tabelę prawdy kolumnami, wykonując podstawowe operacje logiczne w wymaganej kolejności i zgodnie z ich tablicami prawdy.

Możemy teraz określić wartość funkcji logicznej dla dowolnego zestawu wartości zmiennych boolowskich.

Tabela 8 – Tabela prawdy funkcji logicznej

© 2024 ermake.ru - O naprawie komputerów PC - Portal informacyjny