Liczby binarne i bramki logiczne

Zamiana liczb dziesiętnych na binarne

Za pomocą jednego bitu możemy zapisać dwie podstawowe cyfry binarne: 0 i 1, w zapisie dziesiętnym ich znaczenie jest takie samo.
Aby zapisać kolejne cyfry (2 i 3) należy skorzystać z dwóch bitów:

2 - 10
3 - 11

Wykorzystanie 3 bitów pozwoli na zapis kolejnych cyfr z systemu dziesiętnego:

4 - 100
5 - 101
6 - 110
7 - 111

Jak zamienić dowolną liczbę dziesiętną na binarną? Przykład (18 na zapis binarny):

liczba|reszta z dzielenia przez 2
    18|0
     9|1
     4|0
     2|0
     1|1

można to takze sprawdzić w Pythonie:

print(bin(18))

Zamiana liczby binarnej na dziesiętną

Uzyskaną liczbę binarną (10010) zamieńmy na dziesiętną

(1)
\begin{equation} 1*2^4+0*2^3+0*2^2+1*2^1+0*2^0=1*2^4+1*2^1=16+2=18 \end{equation}

Dodawanie liczb binarnych

Prosty przykład:

  10=2
+ 01=1
--------
  11=3

Przykład z dwiema jedynkami w jednej kolumnie:

  001=1
+ 101=5
--------
  110=6

Czemu? Zaczynamy od prawej strony 1+1=10, dlatego na dole zapisujemy 0 i zapamiętujemy 1. W następnym kroku dodajemy 0+0+1 (zapamietane) co daje 1, które zapisujemy na dole. W ostatnim kroku dodajemy 0 + 1 i pod kreską zapisujemy 1.

Odejmowanie liczb binarnych

Prosty przykład:

  11=3
- 01=1
--------
  10=2

Przykład z zerem i jedynką w jednej kolumnie:

  101=5
- 011=3
--------
  010=2

Czemu? Zaczynamy od prawej strony 1-1=0, dlatego na dole zapisujemy 0. W następnym kroku odejmujemy 0-1, musimy zastosować metodę, którą znamy z tradycyjnego odejmowania, czyli "pożyczenie" 1 z następnej kolumny, w ten sposób uzyskujemy 1-0-1 = 0 które zapisujemy na dole. W ostatnim kroku 1-1-0=0. Zapis 1-1 oznacza, że musimy "oddać" "pożyczoną" jedynkę.

Mnożenie liczb binarnych

   101=5
*  101=5
----------
   101
  000
+101
----------
 11001=25

Mnożmy tak jak robimy to w tradycyjnym mnożeniu. Wyniki zapisujemy poniżej. Uzyskane wyniki dodajemy.

Bramki logiczne

W elektronice (informatyce) wykorzystywane są następujące bramki logiczne:
bramki.png

Bramki na zdania

Przykład 1
implikacja.png

Zapis zaczynamy od lewej strony, od dwóch wejść 'p' i 'q'. Pierwszy wyraz jest zanegowany (bramka not), więc:

(2)
\begin{align} \lnot p \end{align}

Drugi wyraz zostaje tak jak jest:

(3)
\begin{align} \lnot p q \end{align}

Bramka łącząca wszystko to bramka OR, więc ostatecznie:

(4)
\begin{align} \lnot p \lor q \end{align}

Jest to pewna pominęta funkcja. Sprawdźmy jaka.

p|q
----
0|0
0|1
1|0
1|1

Natępnie negujemy pierwsze wejście (bramka NOT):

p|q|~p
---|----
0|0| 1
0|1| 1
1|0| 0
1|1| 0

W ostatnim kroku lączymy zanegowane p oraz q znakiem alternatywy:

p|q|~p|~pvq
---|--|----
0|0| 1|   1
0|1| 1|   1
1|0| 0|   0
1|1| 0|   1

Co to za funkcja?

Przykład 2
zadanie.png
Tym razem mamy 3 wejścia. Nazwijmy je 'p','q','r'. Wejścia 'p' i 'q' połączone są bramką OR, więc:(5)
\begin{align} p \lor q \end{align}

Wyjście bramki OR połączone jest z wejściem bramki AND. Bramka AND jest połączona również z wejściem 'r', co zapisujemy następująco:

(6)
\begin{align} (p \lor q) \land r \end{align}

Zdania na bramki

Strona na licencji Creative Commons Attribution-ShareAlike 3.0. Autorzy: A. Czoska, M. Komosiński, B. Kowalczyk, A. Kupś, M. Lubawy