Termin
„liczba” kojarzy się nam na ogół z jej zapisem w systemie dziesiętnym. Ta sama
liczba może być przedstawiona na wiele
sposobów. Wybór reprezentacji dyktują
warunki techniczne. Symbole używane do zapisu liczb nazywamy cyframi. W
życiu codziennym do zapisu liczb używamy tak zwanego pozycyjnego systemu
dziesiętnego.
System dziesiętny
Polega
on na tym, że liczby przedstawia się za pomocą 10 symboli cyfrowych (bo jest to
system dziesiętny), a mianowicie 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 zaś
znaczenie cyfry zależy nie tylko od niej samej, ale i od jej pozycji
(miejsca) w stosunku do innych cyfr (stąd nazwa systemu pozycyjnego).
Na przykład liczba 7710 ( Indeks „10”
znajdujący za liczbą informuje w jakim systemie dana liczba jest zapisana)
zawiera dwie takie same cyfry, ale ta na lewo oznacza siedem dziesiątek a ta na
prawo tylko siedem jednostek.
OGÓLNA ZASADA SYSTEMU POZYCYJNEGO JEST TAKA, ŻE KOLEJNE POZYCJE,
IDĄC OD PRAWEJ STRONY DO LEWEJ, OZNACZAJĄ CORAZ WYŻSZE POTĘGI TAK ZWANEJ
PODSTAWY SYSTEMU. Dla systemu dziesiętnego podstawą systemu
jest oczywiście DZIESIĘĆ. Stąd kolejne pozycje w systemie dziesiętnym
oznaczają:
... 103
= 1000 102 = 100 101 = 10 100 = 1
Liczbę Liczbę Liczbę Liczbę
tysięcy setek dziesiątek jednostek
Przykład: 63810 = 6•102 + 3•101 + 8•100
W tym zapisie każda cyfra znajdująca się o jedną pozycję w lewo jest
zawsze dziesięciokrotnie większa od analogicznej cyfry stojącej obok niej z
prawej strony.
W pozycyjnym systemie dziesiętnym największą liczbę, jaka można
zapisać przy użyciu pojedynczej cyfry jest liczba dziewięć a liczbę
dziesięć zapisuje się już przy użyciu dwóch cyfr: 1 i 0.
Nieprzydatność
systemu dziesiętnego w urządzeniach komputera
System
dziesiętny przedstawiania liczb stosowany powszechnie w nauce, technice i życiu
codziennym, okazał się bardzo niewygodny w maszynach elektronicznych.
Przy przechowywaniu liczb w urządzeniu technicznym korzystnie jest
wartość każdej cyfry przedstawić jako stan pewnego zjawiska fizycznego, np.
napięcia na kondensatorze. W systemie dziesiętnym (systemie o podstawie 10)
należałoby dziesięciu cyfrom przypisać dziesięć różnych wartości napięcia.
Rozpoznawanie cyfry, zakodowanej w formie napięcia, wymagałoby niezawodnego
rozróżniania tych napięć, podobnie jak czyni to woltomierz cyfrowy. Jest to
technicznie możliwe, lecz w każdym razie gdyby taki układ zbudowano, to
pracowałby on niestabilnie. Z tego względu urządzenia elektroniczne preferują
tzw. SYSTEM DWÓJKOWY (binarny), gdyż łatwiej i pewniej jest używać tylko
dwóch skrajnych stanów, np. 0 Volt i napięcia zbliżonego do pewnej wartości
maksymalnej, przypuśćmy 5 Volt. Technologia wytwarzania elementów dwustanowych
jest prosta i tania, co decyduje o opłacalności produkcji masowej.
System dwójkowy
Jeśli
za podstawę systemu przyjmujemy liczbę DWA to otrzyma się SYSTEM
DWÓJKOWY. W systemie dwójkowym istnieją tylko dwie cyfry: 0;1 za
pomocą których możemy zapisać dowolną liczbę. Dowolna liczba dwójkowa zawiera
więc same zera i jedynki.
W systemie dwójkowym największą liczbę, jaka można przedstawić
przy użyciu pojedynczej cyfry jest liczba jeden.
Ponieważ podstawą systemu jest liczba dwa, kolejne pozycje
oznaczają:
... 23
= 8 22 = 4 21 = 2 20 = 1
Liczbę Liczbę Liczbę Liczbę
ósemek czwórek dwójek jednostek
Na przykład, jeśli ktoś posługujący się systemem dwójkowym napisze
10112, to ma na myśli: 1•23+0•22+1•21+1•20 czyli liczbę, którą w systemie dziesiętnym
zapisuje się tak: 1110
![]() |
| Dwójkowy zegarek pokazujący godzinę 3:25 |
System szesnastkowy
Gdy za podstawę systemu przyjęta
zostanie liczba SZESNAŚCIE to otrzyma się SYSTEM SZESNASTKOWY - tzw. system heksadecymalny o podstawie 16 który
nie jest używany bezpośrednio przez układy cyfrowe. Używa się go głównie do
prezentacji niektórych danych m.in. adresów komórek pamięci.
.
W systemie szesnastkowym kolejne miejsca w liczbie oznaczają:
... 162
= 256 161 = 16 160 = 1
Liczbę Liczbę Liczbę
dwustu– szesnastek jednostek
pięćdziesiątek–
szóstek
Istnieje w nim 16 cyfr : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,C, D,
E, F
Do zapisania cyfr dziesięć, jedenaście,... piętnaście,
wykorzystano litery od A do F.
Jeżeli ktoś posługujący się systemem szesnastkowym napisze 1A316, to ma na myśli:
1•162+10•161+3•160, czyli liczbę,
która w systemie dziesiętnym zapisuje się jako 41910.
Największą liczbę, jaka można zapisać w systemie szesnastkowym za
pomocą pojedynczej cyfry jest
liczba piętnaście (litera F).
Relacje pomiędzy poszczególnymi systemami numeracji
System
dziesiętny
|
System
dwójkowy
|
System
szesnastkowy
|
0
|
0000
|
0
|
1
|
0001
|
1
|
2
|
0010
|
2
|
3
|
0011
|
3
|
4
|
0100
|
4
|
5
|
0101
|
5
|
6
|
0110
|
6
|
7
|
0111
|
7
|
8
|
1000
|
8
|
9
|
1001
|
9
|
10
|
1010
|
A
|
11
|
1011
|
B
|
12
|
1100
|
C
|
13
|
1101
|
D
|
14
|
1110
|
E
|
15
|
1111
|
F
|
Konwersja
systemów
Ponieważ
komputer posługuje się systemem dwójkowym, a ludzie – dziesiętnym,
przekształcenie postaci zapisu liczb (tzw. konwersja systemów) z systemu
dwójkowego na dziesiętny i odwrotnie jest czynnością dość częstą.
Konwersja dwójkowo – dziesiętna
Ponieważ
podstawą liczenia systemu dwójkowego jest liczba DWA (zapisywana jako 10 –
czytaj: jeden zero) to kolejne pozycje oznaczają (wagi bitów):
Nr bitu
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
Waga bitu
|
27 = 128
|
26=64
|
25=32
|
24=16
|
23=8
|
22=4
|
21=2
|
20=1
|
Bity są ponumerowane od prawej do lewej, zaczynając od 0. WAGA
BITU to podstawa systemu podniesiona do potęgi odpowiadającej numerowi bitu.
Waga bitu zerowego wynosi 1. We wszystkich systemach pozycyjnego zapisu liczb
całkowitych, skrajnie prawa pozycja jest zawsze równa liczbie 1 bo jest to
podstawa systemu do potęgi zero.
Aby znaleźć dziesiętny odpowiednik liczby dwójkowej najprościej
dokonać jej rozwinięcia. Każdej pozycji przypisana jest waga, a wykładnikiem
potęgi jest numer pozycji.
Np.: Liczba 101002) = 1x24 + 0x23
+ 1x22 + 0x21 +0x20
=1*16
=0*8+1*4+0*2+0*1= 20
Konwersja dziesiętno – dwójkowa
W
celu przekształcenia liczby wyrażonej w systemie dziesiętnym na system dwójkowy
należy liczbę tę dzielić kolejno przez 2, dopóki iloraz nie będzie równy zero.
Po każdym dzieleniu należy zapisać otrzymaną resztę. Zapis liczby w systemie
dwójkowym otrzymamy odczytując kolejno reszty z dzielenia, począwszy od
ostatniej reszty do pierwszej.
PRZYKŁAD: przekształcenie liczby 43710 na liczbę
zapisaną w systemie dwójkowy.
Dzielenie
Iloraz Reszta
przez
2 cząstkowy
437
: 2 218 1
218
: 2 109 0
109
: 2 54 1
54
: 2 27 0
27
: 2 13 1
13
: 2 6 1
6
: 2 3 0
3
: 2 1 1
1
: 2 1 1
WYNIK : 1101101012 (kierunek odczytywania - od dołu)
Liczba dziesiętna 43710 ma w systemie dwójkowym postać 1101101012
Powyższa metoda tłumaczenia liczb z systemu dziesiętnego na
dwójkowy może być zastosowana wyłącznie do liczb całkowitych.
Konwersja szesnastkowo – dziesiętna
W
celu znalezienia wartości liczby szesnastkowej w zapisie dziesiętnym należy
zastosować ten sam algorytm, który został podany dla konwersji dwójkowo –
dziesiętnej.
Przykład
Znajdź wartość następującej liczby szesnastkowej w zapisie
dziesiętnym:
C1C0A6E16
C1C0A6E16 = 12•167+1•166+12•165+0•164+8•163+10•162+6•161+14•160
= 325062103810
Konwersja dziesiętno – szesnastkowa
Konwersja
ta przebiega zgodnie z algorytmem podanym dla konwersji dziesiętno – binarnej
(dwójkowej), przy czym dzielnikiem jest tu liczba 16. Liczba dzieleń jest równa
liczbie cyfr zapisu szesnastkowego. Odczytanie wartość liczby dziesiętnej
odpowiadającej liczbie heksadecymalnej 4C2 (16) polega na
następujących działaniach:
4C2 (16)= 4x162 + Cx161
+ 2x160
4C2 (16) = 4x256 + 12x16 + 2x1
4C2 (16) = 1218 (10)
Lub 4C2 H = 1218 D
Zasady
wykonywania działań arytmetycznych w systemie dwójkowym
Dodawanie
Dwie
liczby dwójkowe dodaje się tak jak dwie liczby dziesiętne tzn. dodaje się
najpierw ostatnią cyfrę jednej liczby do ostatniej cyfry drugiej liczby,
następnie przedostatnią cyfrę pierwszej liczby do przedostatniej cyfry drugiej
liczby itd., ponieważ jednak w liczbach dwójkowych występują jedynie cyfry 0 i
1, to przy dodawaniu występują tylko 3 następujące przypadki:
0 + 0 = 0
0 + 1 = 1
1 + 1 = 10 ( 1+1 daje nam zero w danej pozycji cyfrowej
oraz przeniesienie 1 do następnej pozycji).
W systemie dziesiętnym 1+1=2, ale w systemie dwójkowym liczbę 2
zapisuje się jako 10
Stosując te zasady łatwo dodać do siebie dwie przykładowe liczby
dwójkowe:
0 0 0 1 0 1 1 0 (dwadzieścia dwa) 1•24+0•23+1•22+1•21+0•20=
2210
+ 0 0 0 0 1 0 1 1 (jedenaście) 1•23+0•22+1•21+1•20=
1110
–––––––––––
0 0 1 0 0 0 0 1 (trzydzieści trzy) 1•25+0•24+0•23+0•22+0•21+1•20=
3310
Nieco trudniejsza jest operacja dodawania, gdyby trzeba dodać nie
dwie liczby, jak w podanym przykładzie, lecz cały szereg liczb. W tym wypadku
pewne kłopoty sprawia pamiętanie jedynek przenoszonych do starszych pozycji
cyfrowych. Aby nie komplikować schematów liczących komputera ta trudność
rozwiązana została w ten sposób, że w urządzeniach arytmetycznych komputera są
sumowane wyłącznie 2 liczby. Do sumy 2 liczb dodaje się liczbę trzecią, do sumy
3 liczb liczbę czwartą itd.
Przykład
Dodaj do siebie w zapisie dwójkowym następujące liczby dziesiętne
16; 23; 61; 95
000100002 (1610)
001101112 (2310)
010100012 (8110)
+ 010111112 (9510)
–––––––
110101112 (21510)
Odejmowanie
Kod prosty liczby (KP)
Wprowadzamy pozycję znaku (po lewej stronie)
Zapis znaku:
L ≥ 0 to znak = 0
L ≤ 0 to znak = 1
Znak oddzielamy od liczby kropką
+1410 to 0.000011102
–1410 to 1.000011102
Kod uzupełnieniowy(KU) liczby
Kod uzupełnieniowy (dopełnieniowy) liczby która jest nie ujemna =
kodowi prostemu (KP)
Kod uzupełnieniowy liczby ujemnej:
-
Przepisać znak bez zmian
-
zanegować wszystkie bity(zamieniamy 0 na 1 i 1 na 0)
-
dodać 1 do wyniku
Oto jak wyznaczyć dwójkową postać liczby – 1410:
1.000011102 –1410
1.111100012 negacja wszystkich bitów (znak
pozostaje bez zmian)
+ 0.000000012 inkrementacja (dodajemy liczbę jeden)
––––––––––
1.111100102
W identyczny sposób można zmienić na przeciwny, znak liczby
ujemnej:
1.111100102 –1410
1.000011012 negacja wszystkich bitów
+ 0.000000012 inkrementacja
––––––––––
0.000011102
System uzupełnienia dwójkowego jest korzystny z technicznego
punktu widzenia. Z odejmowania można zrezygnować, zastępując je prostą negacją
i dodawaniem, zaś dodawanie liczb dodatnich i ujemnych jest prowadzone w myśl
jednolitych reguł. Działanie:
+7 – 7 można zastąpić działaniem +710 + (–710)
Przykład:
Wykonujemy działanie 810 – 1310
Na początku zapiszemy liczbę – 1310 używając kodu
uzupełniającego:
1.000011012 –1310
1.111100102 negacja wszystkich bitów
+ 0.000000012 inkrementacja
–––––––––
1.111100112
Następnie wykonujemy dodawanie liczby 810 + (–1310)
0.000010002
810
+ 1.111100112 –1310
–––––––––
1.111110112
Jeżeli wynik jest ujemny (liczba 1 przed kropką) to należy go
przenieść z kodu uzupełniającego na kod prosty wykonując następujące czynności:
-
Przepisać znak bez zmian
-
zanegować wszystkie bity(zamieniamy 0 na 1 i 1 na 0)
-
dodać 1 do wyniku
-
znak zostawiamy bez zmian
1.111110112 –510 K.
uzupełniający
1.000001002 negacja wszystkich bitów
+ 0.000000012 inkrementacja
–––––––––
1.000001012 –510
K. prosty
Jeżeli wynik jest ≥ 0 to KU = KP
Mnożenie
Mnożenie
w systemie dwójkowym wykonuje się tak jak w systemie dziesiętnym, metodą
mnożenia przez poszczególne cyfry mnożnika oraz sumowania otrzymanych w ten
sposób cząstkowych iloczynów.
Ponieważ w liczbach dwójkowych występują jedynie cyfry 0 i 1, to
przy mnożeniu występują tylko następujące przypadki:
0 • 0 = 0
0 • 1 = 0
1 • 0 = 0
1 • 1 = 1
Posługując się tymi regułami można pomnożyć dwie dowolne liczby
dwójkowe.
Przykład
Wykonamy działanie 1410 • 1510 = 21010
1 1 1 02 Liczba 1410
• 1 1 1 12 Liczba 1510
–––––––––––––––––––––
+ 1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 0
–––––––––––––––––––––
1 1 0 1 0 0 1 02 Liczba 21010
Sprawdzenie:
1•27+1•26+0•25+1•24+0•23+0•22+1•21+0•20
= 21010
Dzielenie
Dzielenie
w systemie dwójkowym wykonuje się pisemnie tak jak w systemie dziesiętnym.
Przykład
Podziel liczbę 8510 przez 510 w systemie
dwójkowym.
8510 → 10101012
510 → 1012
0 0 1 0 0 0 1
1 0 1 0 1 0 12 : 1 0 12
1 0 1
0 0 0 0 1 0 1
1 0 1
0 0 0
0 0 1 0 0 0 12
→ 1710
Ćwiczenie
1
Zamień
do postaci dwójkowej liczby dziesiętne 1610,
3110,6510
Obliczyć wartość dziesiętną liczby dwójkowej 11100101(2)
, 10101010(2) ,11111111(2)
Ćwiczenie
2
Zamień do
postaci dziesiętnej liczby heksadecymalne: 10 H , 1A H , 100 H , BABA H .
Ćwiczenie
3
Wykonaj w
systemie dwójkowym działania na liczbach:
10010+5010, 9910+110, 19910+10010
Ćwiczenie
4
Wykonaj w
systemie dwójkowym działania na liczbach: 810*810, 610*1210,
1110*1110
Ćwiczenie
5
Wykonaj w
systemie dwójkowym działania na liczbach: podziel 12610 przez 2110,
podziel 24610 przez 310
Ćwiczenia wykonaj w edytorze tekstu i prześlij w postaci pliku o nazwie jak w nagłówku tego tekstu na adres pocztowy wskazany przez prowadzącego.

Brak komentarzy:
Prześlij komentarz