• Nie Znaleziono Wyników

System dwójkowy

N/A
N/A
Protected

Academic year: 2021

Share "System dwójkowy"

Copied!
6
0
0

Pełen tekst

(1)

O systemach liczbowych

1. Systemy liczbowe

Literatura: Turski, Propedeutyka . . . ; Skomorowski, . . .

1.1. Dwójkowy system pozycyjny

W dziesiętnym systemie pozycyjnym ciąg cyfr 321.23 oznacza liczbę

3 · 102+ 2 · 101

+ 1 · 100

+ 2 · 10−1+ 2 · 10−2

Jeśli przez b oznaczymy podstawę systemu liczbowego, a cyfry przez di to każdą

liczbę N, która zawiera n cyfr w części całkowitej i m cyfr w części ułamkowej możemy zapisać w postaci

N = n−1X i=−m dibi lub w postaci : N = dn−1dn−2. . . d0.d−1d−2. . . d−m.

Kropka oddziela część całkowitą i ułamkową.

W maszynach cyfrowych używa się układów o podstawie b = 2. Cyframi są tutaj 0 i 1.

Liczby należące do różnych systemów zliczania zapisuje się często w nawiasach

z indeksem b, np. (10101.0101)2

W systemie dziesiętnym b = 10. Cyframi są 0, 1, . . . 9. W często używanych systemach ósemkowym (b = 8) i szesnastkowym (b = 16) cyframi są 0, 1, . . . 7 oraz

0, 1, . . . , 9, a, b, c, d, e, f odpowiednio. Przykłady: (123.45)8= 1·82+2·81+3·80+4·

8−1+5·8−2= 84.125. (c3.af)16= 12·161+3·160+10·16−1+15·16−2= 196.5625

Aby dokonać zamiany liczby dziesiętnej na liczbę o podstawie b należy ją naj-pierw podzielić na część całkowitą i ułamkową i dokonać zamiany poszczególnych części. Zamianę części całkowitej wykonujemy dzieląc ją kolejno przez podstawę systemu beta i zbierając kolejne reszty z dzielenia w porządku ź prawa na lewo".

Zamiany ułamka właściwego dokonujemy mnożąc go przez podstawę b i biorąc z wyniku część całkowitą. Następnie, po odrzuceniu części całkowitej proces po-wtarzamy (mnożenie, zapamiętanie części całkowitej wyniku, odrzucenie jej), aż do chwili gdy w wyniku dostaniemy jedynkę lub gdy uzyskamy wymaganą dokładność. Przykład. Zamienimy 35 na liczbę dwójkową.

35/2 = 17r1 , 17/2 = 8r1 , 8/2 = 4r0 , 4/2 = 2r0 , 2/2 = 1r0 , 1/2 = 0r1 . Mamy więc:

(35)10= (100011)2

.

Przykład. Zamienimy 0.90625 na ułamek dwójkowy. 0.90625 × 2 = 1.8125 → 1 0.81250 × 2 = 1.6250 → 1

(2)

0.65000 × 2 = 1.2500 → 1 0.35000 × 2 = 0.5000 → 0 0.50000 × 2 = 1.0000 → 1 Wynik

(0.90625)10= (0.11101)2

Przykład. Zamienimy liczbę (321.123)10 na liczbę ósemkową. Ponieważ

(321)10 = (501)8,

(0.123)10 = (0.144)8,

to

(321.123)10 = (501.144)8.

Zauważmy, że skończoność rozwinięcia dziesiętnego nie pociąga skończoności

np. rozwinięcia dwójkowego. Przykład: 7/20 = (010110100...)2.

Liczby dwójkowe łatwo jest zamieniać na liczby ósemkowe (i szesnastkowe). W tym celu należy liczbę podzielić na grupy trzy (cztero) bitowe w lewo i w prawo od kropki dziesiętnej i zastąpić otrzymane grupy cyframi dziesiętnymi (szesnastko-wymi). Przykład. (100100111100111.1010101)2 = (100 100 111 100 111 . 101 010 1)2= (44747.521)8 = (100 1001 1110 0111 .1010 101)16 = (49e7.55)16 1.2. Kody uzupełnieniowe

Uzupełnień używa się w układach cyfrowych do przedstawiania liczb ujemnych. Upraszcza to operację odejmowania. W każdym systemie zliczania o bazie b mamy dwa sposoby uzupełniania.

1. uzupełnianie do (b − 1) 2. uzupełnianie do b

§1 Uzupełnienie do b − 1. Uzupełnienie n-cyfrowej liczby N o podstawie b do

(b − 1)jest zdefiniowane jako

(bn− 1) − N.

W przypadku liczb dziesiętnych (b − 1) = 9, a dla dwójkowych 1.

Przykład. Uzupełnieniem liczby (53412)10 do 9 jest

(bn

− 1) − N = (105

− 1) − 53412 = 46587 .

Przykład. Uzupełnieniem do 1 liczby (1010101)2jest

(bn− 1) − N = (27)10− 1 − (1010101)2= (128 − 1 − 85)10 = (42)10= (101010)2.

Uzupełnienie liczby do 1 w systemie dwójkowym dostaje się przez odjęcie każdej jej cyfry od 1. Liczbę otrzymaną w ten sposób można też otrzymać przez

(3)

Przykład. Uzupełnieniem do 1 liczby (11001110101)2jest (110001010)2.

§2 Uzupełnienie do b. Drugim rodzajem uzupełnienia n-cyfrowej liczby N jest

uzu-pełnienie do b. Jest ono zdefiniowane jako

bn

− N Można to tez zapisać w postaci

bn− N = [(bn

− 1) − N] + 1

Można je więc otrzymać przez dodanie 1 do uzupełnienia liczby do (b − 1).

Uzupełnienie liczby dwójkowej można otrzymać następująco: idąc od lewej strony liczby pozostawiamy wszystkie zera i pierwszą jedynkę bez zmiany i negujemy na-stępne cyfry.

Przykład. W liczbie (100011010101)2 pozostawiamy 1000 bez zmian i negujemy

11010101. Otrzymamy uzupełnienie liczby równe (100000101010)2.

§3 Odeljmowanie w systemie o podstawie b. Odejmowanie M − N. Jeśli liczby są

bez znaku odejmowanie możemy wykonać następująco: 1. Do odjemnej M dodajemy uzupełnienie do b odjemnika N

M + (bn

− N) = M − N + bn

.

2. Jeśli M ≥ N to w ostatnim wyrażeniu pomijamy bn, otrzymując w wyniku

M − N.

3. Jeśli M < N to wyrażenie z 1) można zapisać w postaci

M + (bn− N) = bn

− (N − M)

. Jest to uzupełnienie do b różnicy (N − M). Biorąc uzupełnienie do b i mnożąc je przez -1 otrzymamy

(−1){bn− [bn− (N − M)]} = −(N − M) = M − N .

Zadanie 1. Odejmowanie 1

1

Odjąć, pokazaną metodą, liczby M = (1999)10i (1948)10. [Spis]

Zadanie 2. Odejmowanie 2

1

Odjąć M = 1999 i N=1999. [Spis]

Zadanie 3. Odejmowanie 3

1

Odjąć M = (1948)10i N = (1999)10. [Spis]

Zadanie 4. Odejmowanie 4

1

W powyższych zadaniach zamienić liczby dziesiętne na dwójkowe i wykonać

następnie ich odejmowanie metodą uzupełnień. [Spis]

1.3. Dwójkowe liczby ze znakiem

Znak liczby dwójkowej można reprezentować pisząc 0 (plus, +) lub 1 (minus,-) na początku liczby. n-bitowa liczba dwójkowa ze znakiem może być wobec tego przedstawiona za pomocą n + 1 bitów.

Liczby dwójkowe ze znakiem dają się więc przedstawić następująco 1. znak-moduł (lub znak-moduł prosty)

(4)

3. znak-uzupełnienie do 2 (lub kod uzupełnieniowy)

Zadanie 5. Reprezentacje liczbowe

1

Wypisać wszystkie liczby 4-bitowe ze znakiem w reprezentacjach znak-moduł,

znak-uzupełnienie do 1, znak-uzupełnienie do 2. [Spis]

Zaletą zapisu znak-uzupełnienie do 2 jest to, że zero ma jednego reprezentanta. W kodowaniu znak-moduł lub znak-uzupełnienie do 1, zero ma podwójną repre-zentację.

Zadanie 6. Zero

1

Wypisz reprezentantów zera dla kodów znak-moduł, znak-uzupełnienie do 1 i

znak-uzupełnienie do 2. [Spis]

Jeśli przy dodawaniu n-bitowych liczb (dodatnich lub ujemnych) wynik jest liczbą (n + 1)-bitową to nazywamy to przepełnieniem (overflow) lub nadmiarem.

2. Sprzęt liczący

2.1. Tranzystor

Podstawowymi elementami współczesnych komputerów są tranzystory. Pierw-szy tranzystor zbudowali John Bardeen i William Shapley w 1949 roku. Obecnie używane tranzystory różnią się od tych pierwszych pod wieloma względami. Są bardzo małe. Na jednym milimetrze kwadratowym powierzchni można zmieścić kilkaset tysięcy tranzystorów typu MOSFET (Metal Oxide Semiconductor Field Ef-fect Tranzistor). Tranzystor taki zbudowany jest z materiałów półprzewodnikowych napylonych na specjalnej płytce.

Tranzystor oznacza się często tak jak to pokazuje poniższy rysunek. Strzałki wskazują kierunek prądu. Jeśli napięcie na bazie żośnie"to sygnał z tranzystora jest większy, jeśli maleje - mniejszy. Ta prosta zależność między sygnałami pozwala na budowę bardziej złożonych układów logicznych, z których składa się komputer.

Baza

Kolektor

Emiter

Najprostsze układy elektroniczne noszą nazwę bramek logicznych. Jedną z nich jest bramka AND. Dodaje ona logicznie dwie cyfry binarne: zera lub jedynki. Jej schematyczną budowę i wyniki działania pokazuje następny rysunek.

A B C "zasilanie" A B C 0 0 0 0 1 0 1 1 1 1 0 0 AND A B C

Inną, bardzo prostą bramką logiczną jest NOT - urządzenie negujące. Brak sy-gnału na wejściu A (baza tranzystora) powoduje pojawienie się sygnały w C, nato-miast jego obecność na A powoduje, że prąd ze źródła zasilania płynie bezpośrednio do C - jest sygnał wyjściowy (patrz rysunek).

(5)

A C "zasilanie" A C 0 1 1 0 NOT A C W

W podobny sposób buduje się inne bramki logiczne, np. OR, NOR, XOR itp.

A B C "zasilanie" A B C 0 0 0 0 1 1 1 1 1 1 0 1 OR A B C

Bramki logiczne odpowiednio połączone tworzą bardziej skomplikowane i uży-teczne układy logiczne. Przykładem może służyć tzw. przełącznik flip flop, prze-rzutnik. Jest to element, z którego budowane są pamięci komputerów. Jego schemat przedstawia następny rysunek. Użyta została tutaj bramka NOR.

Zadanie 7. Schemat NOR

1

Narysuj schemat bramki NOR używając symbolu tranzystora. [Spis]

2.2. Sumator

Prostym układem elektronicznym realizującym dodawanie jest tak zwany suma-tor. Jego schemat można przedstawić następująco.

A B C

Z2 Z1

Przez wejścia A, B i Z1do układu docierają sygnały elektryczne – impulsy, które

przekształcane są w impulsy na wyjściach C i Z2. W tabeli podsumowano wyniki

(6)

A B Z1 C Z2 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1

Jeśli a, b i z są jednobitowymi liczbami dwójkowymi to doprowadzając do wejść

A, B i Z1impulsy odpowiadające tym liczbom, na wyjściu C otrzymamy liczbę

dwój-kową c = a + b + z − (10)2z′ gdzie z′ = 0, gdy a + b + z < (10)2 1 w przeciwnym razie.

Widzimy więc, że sumator dodaje liczby a, b, z modulo 2. Wynik podaje na wyjście

C, a na wyjście Z2podaje przeniesienie "w lewo". Jeśli a + b + z ≥ 2 to z′ = 1w

przeciwnym razie z′= 0.

Odpowiednio połączone sumatory jednopozycyjne tworzą tzw. sumator wielo-pozycyjny "bez przeniesieniałub ź przeniesieniem"(patrz rysunek). Sumatory tego typu mogą wykonywać operacje dodawania liczb n-bitowych. Jeśli np. na wej-ście sumatora podane będą odpowiednio zakodowane ułamki właściwe to na jego wyjściu pojawi się ich zakodowana suma. Rysunki przedstawiają sumator wielopo-zycyjny bez przeniesienia oraz sumator wielopowielopo-zycyjny z przeniesieniem

A B C A B C A B C A B C xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C A B C 2.3. Arytmometr

W celu wykonania innych działań niż dodawanie używa się wyspecjalizowanych układów logicznych. Składają się one na tzw. arytmometr maszyny liczącej. Prócz układów liczących komputery posiadają w arytmometrze inne układy, tzw. układy pamiętające – rejestry. Rejestry wraz z arytmometrem tworzą tzw. akumulator Dowolne ciągi operacji arytmetycznych takich jak +, -, *, / mogą być realizowane w akumulatorze procesora.

Innym ważnym elementem komputera jest pamięć, gdzie przechowuje się dane. Ciągi sygnałów (0, 1) pamiętane są w ciągach komórek pamięci. Sygnały te są ciągle odświeżane. Można je pobierać i zapisywać, a następnie przekształcać w akumula-torze, realizując w ten sposób obliczenia.

Cytaty

Powiązane dokumenty

al.(1890,1922, waga skręceń,dokładność 5.10 ‐9 ), R. H. Dicke et. al. (1964,  wahadło torsyjne, dokładność 10 ‐11

Odtworzyć pełny backup c:\backup\demoLS.bak z opcją norecovery tak aby utworzyła się baza demoLS_Second, której pliki będą w katalogu d:\baza.. Polecenie restore musi

[r]

Metoda najmniejszych kwadrat´ow przy ograniczeniach na parametry: mno˙zniki Lagrange’a. Seber, Linear Regression Analysis, New

Funkcje analityczne #1 Funkcje analityczne #1 Funkcje analityczne

W wyjątkowych sytuacjach może być zasadne zastosowanie rozwiązań zmniejszających to tarcie, co zmniejsza wartości K (niemal do zera).. Dla belek niepryzmatycznych kluczową

1B H314 Powoduje poważne oparzenia skóry oraz uszkodzenia oczu..

ściu z muzeum ma się wrażenie, że miasto jest odbiciem przed chwilą widzianych. malowideł, jakby to ono z nich brało