Menu
Jest wolny
rejestracja
Dom  /  Internet/ Jak działa ekskluzywność. Operacje na bitach

Jak działa ekskluzywny. Operacje na bitach

Operacja wyłącznego OR (ujednoznacznienie, dodawanie modulo dwa) jest oznaczona symbolem i różni się od logicznego OR tylko wtedy, gdy A=1 i B=1.

Tak więc nierównoważność dwóch zdań X1 i X2 nazywamy takim zdaniem Y, które jest prawdziwe wtedy i tylko wtedy, gdy jedno z tych zdań jest prawdziwe, a drugie fałszywe.

Definicję tej operacji można zapisać jako tablicę prawdy (tabela 6):

Tabela 6 - Tabela prawdy operacji EXCLUSIVE OR

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

Jest to ten sam element „OR” z jedną niewielką różnicą. Jeśli wartość na obu wejściach jest równa jednostce logicznej, to wyjście elementu „EXCLUSIVE OR”, w przeciwieństwie do elementu „OR”, nie jest jednością, lecz zerem.

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

Każdy spójnik logiczny jest traktowany jako operacja na instrukcjach logicznych i ma swoją własną nazwę i oznaczenie (tabela 7).

Tabela 7 - Podstawowe operacje logiczne

Przeznaczenie

operacje

czytać

Nazwa operacji

Alternatywne oznaczenia

Negacja (inwersja)

pęd z góry

Koniunkcja (mnożenie logiczne)

Dysjunkcja (dodanie logiczne)

Jeśli następnie

implikacja

Wtedy i tylko wtedy

Równorzędność

Albo albo

EXCLUSIVE OR (dodatek modulo 2)

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

System operacji logicznych inwersji, koniunkcji, alternatywy pozwala na zbudowanie dowolnie złożonego wyrażenia logicznego.

Przy obliczaniu wartości wyrażenia logicznego przyjmowana jest pewna kolejność wykonywania operacji logicznych.

1. Inwersja.

2. Koniunkcja.

3. Rozłączenie.

4. Implikacja.

5. Równoważność.

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

  1. Wyrażenia logiczne i tabele prawdy

    1. Wyrażenia logiczne

Każda instrukcja złożona może być wyrażona jako formuła (wyrażenie logiczne), która zawiera zmienne logiczne, oznaczające wypowiedzi, oraz oznaki operacji logicznych, oznaczające funkcje logiczne.

Aby napisać zdanie złożone w postaci wyrażenia logicznego w języku formalnym (języku algebry logiki) w zdaniu złożonym, konieczne jest wyróżnienie zdań prostych i powiązań logicznych między nimi.

Zapiszmy w postaci wyrażenia logicznego wyrażenie złożone „(2 2=5 lub 2∙2=4) oraz (2∙2≠5 lub 2∙ 2 4)".

Przeanalizujmy oświadczenie złożone. Zawiera dwa proste stwierdzenia:

A \u003d „2 2 \u003d 5” - fałsz (0),

B \u003d „2 2 \u003d 4” - prawda (1).

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

«( ALElubW) i (Ā lubW)».

Teraz konieczne jest napisanie instrukcji w postaci wyrażenia logicznego, biorąc pod uwagę kolejność wykonywania operacji logicznych. Podczas wykonywania operacji logicznych określa się następującą kolejność ich wykonywania:

inwersja, koniunkcja, alternatywa.

Do zmiany określonej kolejności można użyć nawiasów:

F = (AvW) & (Ā vW).

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

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

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

      tablice prawdy

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

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

Podczas konstruowania tabel prawdy wskazane jest kierowanie się określoną sekwencją działań:

    konieczne jest określenie liczby wierszy w tabeli prawdy. Jest równa liczbie możliwych kombinacji wartości zmiennych boolowskich zawartych w wyrażeniu boolowskim. Jeśli liczba zmiennych binarnych wynosi P, następnie:

liczba rzędów = 2 n .

W naszym przypadku funkcja logiczna

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

    konieczne jest określenie liczby kolumn w tabeli prawdy, która jest równa liczbie zmiennych logicznych plus liczba operacji logicznych.

W naszym przypadku liczba zmiennych to dwie: A i B, a liczba operacji logicznych to pięć (Tabela 8), czyli liczba kolumn w tabeli prawdy to siedem;

    konieczne jest zbudowanie tabeli prawdy o określonej liczbie wierszy i kolumn, wyznaczenie kolumn i wprowadzenie do tabeli możliwych zestawów wartości początkowych zmiennych logicznych;

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

Teraz możemy zdefiniować wartość funkcji boolowskiej dla dowolnego zestawu wartości zmiennych boolowskich.

Tabela 8 - Tabela prawdy funkcji logicznej


Operator Składnia Opis
ORAZ A I B Spójnik: Jeśli A i B są prawdziwe, to prawda. W przeciwnym razie — Fałsz
LUB A LUB B Dysjunkcja: Jeśli któryś z operandów jest True, to True. W przeciwnym razie — Fałsz
NIE ANI Negacja: Jeśli A jest fałszywe, to prawda. W przeciwnym razie — Fałsz
XOR XOR B Wyjątek: Jeśli A jest prawdą lub B jest prawdą, to prawda. W przeciwnym razie — Fałsz
EQV EQV B Równorzędność: Jeśli A ma taką samą wartość jak B, to prawda. W przeciwnym razie — Fałsz
CHOCHLIK IMP B Implikacja: Jeśli A to prawda, a B to fałsz, to fałsz. W przeciwnym razie — prawda

Jako operand dla operatora logicznego można użyć dowolnego prawidłowego wyrażenia, które ma wynik logiczny, a także liczbę, którą można przekonwertować na wartość logiczną.

Wynikiem operacji logicznej jest wartość typu Boolean (lub Null, jeśli co najmniej jeden z operandów ma wartość Null).

Operator logiczny AND

Składnia:
Operand_1 ORAZ Operand_2


Operator AND wykonuje spójnik logiczny.

Wynikiem tej operacji jest True tylko wtedy, gdy oba operandy mają wartość True, w przeciwnym razie False.


tabela prawdy


Operator AND może być używany na wielu operandach:


(5 3) AND (5=6) wynik to Fałsz


Niezależnie od liczby operandów, operacja logiczna AND da w wyniku True tylko wtedy, gdy wszystkie operandy wyrażenia mają wartość True. W każdym innym przypadku wynik będzie Fałsz. Zauważ, że operandy są ujęte w nawiasy. VBA najpierw ocenia wartość każdego operandu w nawiasach, a następnie całe wyrażenie.

Operator logiczny OR

Składnia:
Operand_1 LUB Operand_2


Operator OR wykonuje alternatywa logiczna.

Wynikiem tej operacji jest True, jeśli przynajmniej jeden z operandów jest True, w przeciwnym razie False.


tabela prawdy


Operator OR może być używany na wielu operandach:


(5 3) LUB (5=6) wynik to Prawda


Niezależnie od liczby operandów, wynik operacji logicznej OR zawsze będzie miał wartość True, jeśli przynajmniej jeden z operandów wyrażenia ma wartość True. W przeciwnym razie wynik będzie Fałsz.

Operatory AND i OR można łączyć:


((5 3)) LUB (5=6) wynik to Prawda

Operator logiczny NIE

Składnia:
NIE argument


Operator NOT nie negacja logiczna.

Operator NOT używa tylko jednego operandu.


tabela prawdy


Operatory AND OR NOT można łączyć:


((5 3)) LUB NIE (5=6) wynik to Prawda

Operator logiczny XOR

Składnia:
Operand_1 XOR Operand_2


Operator XOR wykonuje logiczny wyjątek.

Wynikiem tej operacji jest True, jeśli operandy mają różne wartości, w przeciwnym razie False.


tabela prawdy


((5 3)) LUB NIE (5=6) Wynik XOR (5=5) to Fałsz

Operator logiczny EQV

Składnia:
Operand_1 EQV Operand_2


Operatorem EQV jest operator równoważność logiczna.

Wynikiem tej operacji jest True, jeśli operandy mają tę samą wartość, w przeciwnym razie False.


tabela prawdy


((5 3)) LUB NIE (5=6) Wynik EQV (5=5) to Prawda

Operator logiczny IMP

Składnia:
Operand_1 IMP Operand_2


Instrukcja IMP wykonuje operację logiczną implikacje.


tabela prawdy


((5 3)) LUB NIE (5=6) IMP (5=5) wynik to Prawda


Operator logiczny IMP jest najmniej intuicyjny ze wszystkich operatorów logicznych. Na szczęście potrzeba jego użycia pojawia się dość rzadko.

Oznaczone figurą retoryczną „albo… albo…” Zdanie złożone „albo A albo B” jest uważane za prawdziwe, gdy prawdziwe jest albo A albo B, ale nie oba naraz; w przeciwnym razie instrukcja złożona jest fałszywa.

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

Ta operacja jest często porównywana do alternatywy, ponieważ mają one bardzo podobne właściwości i obie są podobne do połączenia „lub” w mowie potocznej. Porównaj zasady dla tych operacji:

1. prawda, jeśli prawda lub , lub oba na raz.

2. prawda, jeśli prawda lub, ale nie oba na raz.

Operacja wyklucza ostatnia opcja ("obie naraz") i z tego powodu nazywana jest wyłącznym "LUB". Dwuznaczność język naturalny polega na tym, że w obu przypadkach można użyć unii „lub”.

5. Implikacja (logiczna konsekwencja) powstaje przez połączenie dwóch stwierdzeń w jedno za pomocą figury retorycznej „jeśli…, to….”.

Wejście: A®B

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

Tych. jeśli 1 oznacza 0, to wynikiem jest 0, w przeciwnym razie jest to 1.

Na przykład zdanie „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ż fałszywy wniosek jest wyciągany z prawdziwej przesłanki.

„Ten czworokąt jest kwadratem” (ALE) I "Okrąg można zakreślić wokół danego czworoboku" (W). Następnie instrukcja złożona brzmi: „Jeśli dany czworokąt jest kwadratem, to wokół niego można zakreślić okrąg”.

W mowie potocznej link "Jeśli następnie" opisuje związek przyczynowy między stwierdzeniami. Ale w operacjach logicznych znaczenie wypowiedzi nie jest brane pod uwagę. Uwzględniana jest tylko ich prawda lub fałsz. Dlatego nie należy się wstydzić „bezsensowności” implikacji, jakie tworzą wypowiedzi zupełnie niezwiązane w treści. Na przykład tak: „Jeśli prezydent Stanów Zjednoczonych jest demokratą, to w Afryce są żyrafy”, „Jeśli arbuz jest jagodą, to na stacji benzynowej jest benzyna”.

6. Równoważność (logiczna równość, ~ º Û) powstaje przez połączenie dwóch stwierdzeń w jedno za pomocą figury retorycznej „...jeśli i tylko wtedy...”

Zdanie złożone utworzone przez operację równoważności jest prawdziwe wtedy i tylko wtedy, gdy oba zdania 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żliwe jest zbudowanie tabeli prawdy, która określa jego prawdziwość lub fałsz dla wszystkich możliwych kombinacji początkowych wartości zdań prostych.

tabela prawdy jest tabelaryczną reprezentacją obwodu logicznego (operacji), który wymienia wszystkie możliwe kombinacje wartości prawdy wejściowej (operandów) wraz z wartością prawdy wyjściowej (wynikiem operacji) dla każdej z tych kombinacji.

Powyższe operacje logiczne odzwierciedlamy w tabeli prawdy:

W algebrze zdań wszystkie funkcje logiczne można sprowadzić za pomocą przekształceń logicznych do trzech podstawowych: dodawania logicznego, mnożenia logicznego i negacji logicznej.

Wykażmy, że implikacja operacji A®B jest równoważna wyrażeniu logicznemu:

W tym artykule omówimy niektóre operacje bitowe. Rozważ główne: XOR (wyłączne OR), AND (AND), NOT (NOT) i OR (OR).

Jak wiadomo, minimalną jednostką miary informacji jest fragment, który przechowuje jedną z 2 wartości: 0 ( Fałszywe, fałsz) lub 1 ( Prawdziwe, prawda). Tak więc komórka bitowa może jednocześnie znajdować się tylko w jednym z dwóch możliwych stanów.

Do manipulowania bitami używane są pewne operacje - logiczne lub logiczne. Można je zastosować do dowolnego bitu, niezależnie od tego, czy jego wartość wynosi zero, czy jeden. Cóż, spójrzmy na przykłady użycia trzech podstawowych operacji logicznych.

Operacja logiczna AND (i)

ORAZ oznaczony przez & .

Operator AND jest wykonywany z 2 bitami, weźmy na przykład aib. Wynikiem operacji AND jest 1, jeśli a i b są równe 1. W przeciwnym razie wynikiem jest 0. Na przykład, używając AND można dowiedzieć się, czy liczba jest parzysta, czy nie.

Spójrz na tabelę prawdy operacji AND:

Operacja logiczna LUB (LUB)

Oznaczone znakiem | .

Operator LUB wykonywane również z 2 bitami (a i b). Wynik to 0, jeśli a i b są równe 0, w przeciwnym razie jest to 1. Spójrz na tabelę prawdy.

Operacja logiczna XOR (wyłączne OR)

Operator XOR jest oznaczony przez ^ .

XOR wykonywane z 2 bitami (a i b). Wynik operacji XOR ( XOR) wynosi 1, gdy jeden z bitów b lub a wynosi 1. W przeciwnym razie wynik zastosowania operatora XOR wynosi 0.

Tabela prawdy operacji logicznej dla XOR (exclusive OR) wygląda tak:

Używając XOR (exclusive OR) możesz zamienić wartości 2 zmiennych tego samego typu danych bez użycia zmiennej tymczasowej. A jednak za pomocą XOR możesz zaszyfrować tekst, na przykład:

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

Zgadzam się, XOR jest daleka od najbezpieczniejszej metody szyfrowania, ale to nie znaczy, że nie może być częścią żadnego algorytmu szyfrowania.

Operacja logiczna NIE (NIE)

Jest to negacja bitowa, więc jest wykonywana z jednym bitem i jest oznaczona przez ~ .

Wynik zależy od stanu bitu. Jeśli jest w stanie zerowym, wynik operacji jest jeden i odwrotnie. Wszystko jest niezwykle proste.

Te 4 logiczne operacje należy przede wszystkim zapamiętać, ponieważ z ich pomocą można uzyskać prawie każdy możliwy wynik. Istnieją również operacje takie jak<< (побитовый сдвиг влево) и >> (bitowe przesunięcie w prawo).

Obwód elektryczny zaprojektowany do wykonywania dowolnej operacji logicznej na danych wejściowych nazywany jest elementem logicznym. Dane wejściowe są tu reprezentowane w postaci napięć o różnych poziomach, a wynik operacji logicznej na wyjściu jest również uzyskiwany w postaci napięcia o określonym poziomie.

Argumenty w tym przypadku są zasilane - sygnały są odbierane na wejściu elementu logicznego w postaci wysokiego lub niskiego poziomu napięcia, które zasadniczo służą jako dane wejściowe. Tak więc napięcie wysokiego poziomu - logiczne - wskazuje prawdziwą wartość operandu, a napięcie niskiego poziomu 0 - wartość fałszywą. 1 - PRAWDA, 0 - FAŁSZ.

Element logiczny- element realizujący pewne logiczne zależności między sygnałami wejściowymi i wyjściowymi. Elementy logiczne są zwykle wykorzystywane do budowy obwodów logicznych komputerów, dyskretnych obwodów automatycznego sterowania i zarządzania. Dla wszystkich typów elementów logicznych, niezależnie od ich fizycznego charakteru, charakterystyczne są wartości dyskretne sygnałów wejściowych i wyjściowych.

Elementy logiczne mają jedno lub więcej wejść i jedno lub dwa (zwykle odwrotnie do siebie) wyjścia. Wartości „zer” i „jedynek” sygnałów wyjściowych elementów logicznych są określone przez funkcję logiczną, którą wykonuje element, oraz wartości „zer” i „jedynek” sygnałów wejściowych, które odgrywają rola zmiennych niezależnych. Istnieją elementarne funkcje logiczne, z których można złożyć dowolną złożoną funkcję logiczną.

W zależności od konstrukcji obwodu elementu, od jego parametrów elektrycznych, poziomy logiczne (wysokie i niskie poziomy napięcia) wejścia i wyjścia mają takie same wartości dla stanów wysokich i niskich (prawda i fałsz).

Tradycyjnie elementy logiczne produkowane są w postaci specjalnych komponentów radiowych – układów scalonych. Operacje logiczne, takie jak koniunkcja, alternatywa, negacja i dodawanie modulo (AND, OR, NOT, exclusive OR) to główne operacje wykonywane na elementach logicznych typów podstawowych. Przyjrzyjmy się bliżej każdemu z tych elementów logicznych.

Element logiczny "AND" - koniunkcja, mnożenie logiczne, AND


"AND" - element logiczny, który wykonuje operację łączenia lub mnożenia logicznego na danych wejściowych. Ten element może mieć od 2 do 8 (najczęściej w produkcji są to elementy „AND” z 2, 3, 4 i 8 wejściami) wejść i jedno wyjście.

Na rysunku pokazano symbole elementów logicznych „AND” o różnej liczbie wejść. W tekście element logiczny „AND” z jedną lub inną liczbą wejść jest oznaczony jako „2I”, „4I” itd. - element „AND” z dwoma wejściami, z czterema wejściami itd.


Tabela prawdy dla elementu 2I pokazuje, że wyjście elementu będzie jednostką logiczną tylko wtedy, gdy logiczne są jednocześnie na pierwszym wejściu ORAZ na drugim wejściu. W pozostałych trzech możliwych przypadkach wyjście będzie wynosić zero.

W zachodnich schematach ikona elementu „I” ma linię prostą przy wejściu i zaokrąglenie przy wyjściu. Na schematach domowych - prostokąt z symbolem „&”.

Element logiczny „OR” - alternatywa, dodawanie logiczne, OR


"LUB" - element logiczny, który wykonuje operację alternatywy lub logicznego dodawania na danych wejściowych. Podobnie jak element „AND” dostępny jest z dwoma, trzema, czterema itd. wejściami i jednym wyjściem. Na rysunku pokazano symbole elementów logicznych „LUB” o różnej liczbie wejść. Elementy te są oznaczone następująco: 2OR, 3OR, 4OR itd.


Z tabeli prawdy dla elementu „2OR” wynika, że ​​do pojawienia się jednostki logicznej na wyjściu wystarczy, że jednostka logiczna znajduje się na pierwszym wejściu OR na drugim wejściu. Jeśli logiczne są jednocześnie na dwóch wejściach, wyjście również będzie jedno.

W schematach zachodnich ikona elementu „LUB” ma zaokrąglone wejście i zaokrąglone, spiczaste wyjście. Na schematach domowych - prostokąt z symbolem „1”.

Element logiczny „NOT” - negacja, falownik, NIE

„NIE” – element logiczny, który wykonuje operację logicznej negacji na danych wejściowych. Ten element, który ma jedno wyjście i tylko jedno wejście, nazywany jest również falownikiem, ponieważ w rzeczywistości odwraca (odwraca) sygnał wejściowy. Rysunek przedstawia symbol elementu logicznego „NIE”.

Tabela prawdy dla falownika pokazuje, że wysoki potencjał wejściowy daje niski potencjał wyjściowy i odwrotnie.

W schematach zachodnich ikona elementu „NIE” ma kształt trójkąta z kołem przy wyjściu. Na schematach domowych - prostokąt z symbolem „1”, z kółkiem przy wyjściu.

Element logiczny "AND-NOT" - koniunkcja (mnożenie logiczne) z negacją, NAND

"AND-NOT" - element logiczny, który wykonuje operację logicznego dodawania na danych wejściowych, a następnie logiczną operację negacji, której wynik jest wyprowadzany. Innymi słowy, jest to zasadniczo element „AND”, uzupełniony elementem „NIE”. Rysunek przedstawia symbol elementu logicznego „2I-NOT”.


Tabela prawdy dla elementu „NAND” jest przeciwieństwem tabeli dla elementu „AND”. Zamiast trzech zer i jednego - trzy jedynki i zero. Element „NAND” jest również nazywany „elementem Schaeffera” na cześć matematyka Henry'ego Maurice'a Schaeffera, który jako pierwszy zauważył znaczenie tego w 1913 roku. Oznaczony jako „I”, tylko z kółkiem przy wyjściu.

Element logiczny „OR-NOT” - alternatywa (dodanie logiczne) z negacją, NOR

"LUB-NIE" - element logiczny, który wykonuje operację logicznego dodawania na danych wejściowych, a następnie operację logicznej negacji, której wynik jest wyprowadzany. Innymi słowy jest to element „LUB”, uzupełniony elementem „NIE” - falownikiem. Rysunek przedstawia symbol elementu logicznego „2OR-NOT”.


Tabela prawdy dla elementu „OR-NOT” jest przeciwieństwem tabeli dla elementu „OR”. Wysoki potencjał na wyjściu uzyskuje się tylko w jednym przypadku – oba wejścia zasilane są jednocześnie niskimi potencjałami. Określany jako „LUB”, tylko z kółkiem na wyjściu wskazującym na inwersję.

Element logiczny "exclusive OR" - dodatek modulo 2, XOR

"XOR" - element logiczny, który wykonuje operację logicznego dodawania modulo 2 na danych wejściowych, posiada dwa wejścia i jedno wyjście. Często te elementy są używane w schematach sterowania. Rysunek przedstawia symbol tego elementu.

Obraz w schematach zachodnich jest jak "OR" z dodatkowym zakrzywionym paskiem po stronie wejściowej, w krajowym - jak "LUB", tylko zamiast "1" zostanie napisane "=1".


Ten logiczny element nazywany jest również „nierównowagą”. Wysoki poziom napięcia będzie na wyjściu tylko wtedy, gdy sygnały na wejściu nie będą równe (na jednej jednostce, na drugiej zero lub na jednym zero, a na drugiej), nawet jeśli na wejściu są dwie jednostki. w tym samym czasie wyjście będzie wynosić zero - jest to różnica od "LUB". Te elementy logiczne są szeroko stosowane w adderach.