background image

 

Mateusz Pańkowski 

 

   

          1 

 

Urządzenia 
Techniki 

Klasa I TI 

 

1. SYSTEMY LICZBOWE UŻYWANE W TECHNICE KOMPUTEROWEJ

 

 

 

System  liczenia

  -  sposób  tworzenia  liczb  ze  znaków  cyfrowych  oraz  zbiór  reguł  umożliwiających  wykonywanie 

operacji  arytmetycznych  na  liczbach.  Do  zapisu  liczb  używa  się  skończonego  zbioru  znaków,  zwanych  cyframi. 

Rozróżnić można systemy liczbowe 

pozycyjne

 i 

addytywne

 

do systemów pozycyjnych zalicza się m.in.: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. 

 

do systemów addytywnych zalicza się m.in.: rzymski, alfabetyczny, hieroglificzny. 

Czym jest liczba ? Jest to po pojęcie abstrakcyjne, najczęściej używane w matematyce. 

 

Pozycyjny system liczbowy

  - sposób zapisywania liczb za pomocą skończonego zbioru znaków (cyfry arabskie, litery 

alfabetu), w którym wartość liczbowa zależy od jej umiejscowienia (pozycji) względem sąsiednich znaków. W systemie 

pozycyjnym  charakterystyczna  jest  liczba  zwana 

podstawą  systemu  pozycyjnego

,  określająca  liczbę  używanych  cyfr 

(znaków). 

 

Wzór ogólny 

Zakładamy, że: 

p

 - podstawa systemu pozycyjnego, 

c

n

 - cyfra systemu pozycyjnego i 

n

 - pozycja cyfry 

Wtedy wartość reprezentowaną przez symbol liczby zapisujemy jako sumę iloczynów postaci: 

c

n

 * 

p

n

 + . . . + 

c

2

 * 

p

2

 + 

c

1

 * 

p

1

 + 

c

0

 * 

p

Do najpopularniejszych systemów liczbowych należą: dziesiętny (decymalny), dwójkowy (binarny), ósemkowy (oktalny) 

i szesnastkowy (heksadecymalny). 

 

System dziesiętny

 (

decymalny

) -> DEC

 

Jest to najczęściej używany system liczbowy przez ludzi. W systemie tym podstawę stanowi liczba 10, a do zapisu liczb 

używa się dziesięciu symboli cyfr arabskich {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Każdemu z tych symboli przyporządkowana jest 

pewna wartość. Z tych prostych symboli tworzymy elementy bardziej złożone ustawiając cyfry na tzw. pozycjach, 

szeregując je od prawej do lewej. Najbardziej skrajna, prawa pozycja to pozycja jedności, następna to pozycja 

dziesiątek, dalej są pozycje setektysięcy itd. 

 

Przykład: 

 

 

                     

pozycja setek           pozycja dziesiątek           pozycja jedności 

 

                579 = 5 * 100 + 7 * 10 + 9 * 1 

 

Liczbę dziesiętną możemy zapisać na trzy sposoby. Pierwszy, najczęściej stosowany w życiu codziennym to np. 149

Zapisy, które będzie stosować będą następujące: 149

D

 lub 149

(10)

background image

 

Mateusz Pańkowski 

 

   

          2 

 

Urządzenia 
Techniki 

Klasa I TI 

 

System dwójkowy

 (

binarny

) -> BIN

 

System  ten  jest  wykorzystywany  przez  cyfrowe  urządzenia  elektroniczne.  Podstawą  jest  liczba  2,  natomiast  liczby 

zapisuje  się  za  pomocą  cyfr  arabskich  {0,  1}.  Mimo,  że  zapis  liczby  dwójkowej  jest  dłuższy  niż  liczby  dziesiętnej,  to 

jednak  dzięki niemu nastąpiła rewolucja świata techniki i powstała taka dziedzina jak informatyka. Stosowanie  tylko 

dwóch cyfr znacznie ułatwiło budowanie układów cyfrowych, w których cyfry te symbolizują np. dwa stany: 

1 - 

stan wysoki

 (np. przepływ prądu, włączony) 

0 - 

stan niski

 (np. brak przypływu prądu, wyłączony) 

 

Liczby w systemie dwójkowym zapisujemy w postaci: 1011 (czyt. jeden zero jeden jeden, nie tysiąc jedenaście!!!

Jako, że  system  ten  podobnie jak dziesiętny,  jest systemem pozycyjnym, to bez problemu można dokonać konwersji 

liczb binarnych na dziesiętne i odwrotnie. 

Liczby dwójkowe zapisywać będziemy w postaci 10011

B

 lub 10011

(2)

 

Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

 

Dokonaj zamiany liczby dziesiętnej 74

(10)

 na binarną (DEC -> BIN)

74

(10)

 = X

(2)

 

74

(10)

 = 

74 : 2 = 37 

r. = 0 

    = 1001010

(2)

 

 

37 : 2 = 18 

r. = 1 

 

 

18 : 2 =   9 

r. = 0 

 

 

9 : 2 =   4 

r. = 1 

 

 

4 : 2 =   2 

r. = 0 

 

 

2 : 2 =   1 

r. = 0 

 

 

1 : 2 =   0 

r. = 1 

 

 

74

(10)

 = 1001010

(2)

 

O  co  tu  chodzi  ?  Aby  dokonać  zamiany  liczby  dziesiętnej  na  postać  binarną,  należy  po  prostu  wykonać  cykliczne 

dzielenie z resztą. Dzielną jest liczba dziesiętna, natomiast dzielnikiem jest podstawa systemu binarnego, czyli 2. Wynik 

z pierwszego dzielenia (74 : 2) ponownie dzielony jest przez 2, i tak aż do uzyskania 0. Liczba binarna powstaje poprzez 

zapisanie  reszt  z  dzielenia  zapisanych  w  odwrotnej  kolejności  (od  dołu  do  góry).  Skąd  reszta  ?  Jeśli  dzielimy  liczbę 

nieparzystą przez 2, to nie ma możliwości aby dwójka zmieściła się tam pełną ilość razy i zostanie nam reszta 1, np.: 

7 : 2 - dwójka w siedmiu zmieści się 3 razy i wtedy zostanie nam 1. W jedynce dwójka się nie zmieści. W ten sposób ta 

jedynka staje się resztą z dzielenia. 

6 : 2 - dwójka mieści się tu 3 razy i nic nam nie zostaje, czyli reszta to 0

 

W momencie gdy dochodzimy do sytuacji, gdy nasza dzielna będzie wynosić 1, to jeszcze  nie  kończymy i ją również 

dzielimy przez dwa. Ale w tym przypadku należy pamiętać, 

że wynik tego dzielenia to 0, a jako resztę przepisujemy 1

 

 

 

background image

 

Mateusz Pańkowski 

 

   

          3 

 

Urządzenia 
Techniki 

Klasa I TI 

 

Przykład zamiany liczby binarnej na dziesiętną (BIN -> DEC):

 

Dokonaj zamiany liczby binarnej 101011

(2) 

na dziesiętną (BIN -> DEC). 

 

101011

(2)

 = X

(10)

 

101011

(2)

 = 1*2

0

 + 1*2

1

 + 0*2

2

 + 1*2

3

 + 0*2

4

 + 1*2

5

 =  

= 1*1 + 1*2 + 0*4 + 1*8 + 0*16 + 1*32 = 1 + 2 + 8 + 32 = 43

(10)

 

 

101011

(2)

 = 43

(10)

 

Zamiana jest bardzo prosta. Kolejne  cyfry  w  liczbie  binarnej  należy  ponumerować, zaczynając  od pierwszej  z prawej 

strony (otrzymuje ona numer pozycji 0, następna 1, kolejna 2 itd.). Numeracja pozycji dla powyższego przykładu będzie 

wyglądała następująco: 

pozycja:

 

 

liczba binarna:

 

1  0  1  0  1  1 

(2) 

 

Następnie  każdą  z  cyfr  mnoży  się  przez  wagę  otrzymaną  z  podstawy  podniesionej  do  potęgi  równej  pozycji.  Po 

przemnożeniu  cyfr  przez  wagi  należy  je  zsumować.  Otrzymana  liczba  powinna  odpowiadać  liczbie  binarnej.  Dla 

uproszczenia: 

 

1 * 

2

0

 + 1 * 

2

1

 + … 

 

 

Aby  szybko  móc  przekształcać  liczby  binarne  na  postać  dziesiętną  warto  zapamiętać  wartości  poszczególnych  wag 

systemu binarnego. Wygląda to następująco: 

2

10

 

2

9

 

2

8

 

2

7

 

2

6

 

2

5

 

2

4

 

2

3

 

2

2

 

2

1

 

2

0

 

1024  512 

256 

128 

64 

32 

16 

 

System szesnastkowy

 (

heksadecymalny

) -> HEX

 

System  ten  wykorzystywany  jest  najczęściej  do  uproszczonego  zapisu  długich  liczb  binarnych.  Podstawę  systemu 

heksadecymalnego  stanowi  16  cyfr.  Pierwsze  dziesięć  cyfr  to  cyfry  arabskie  od  0  do  9,  a  pozostałe  sześć,  to  litery 

alfabetu łacińskiego A do F (10 - 15). Liczba w systemie szesnastkowym zapisywana jest przy pomocy liczb ze zbioru {0, 

1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} i wygląda następująco: 1A4B

H

 lub 1A4B

(16)

.  

Przy wykonywaniu konwersji liczb pomiędzy systemami DEC/BIN/HEX najłatwiej posłużyć się tabelką: 

 

dziesiętna 

binarna 

szesnastkowa 

 

dziesiętna 

binarna 

szesnastkowa 

0000 

1000 

0001 

1001 

0010 

10 

1010 

0011 

11 

1011 

0100 

12 

1100 

0101 

13 

1101 

0110 

14 

1110 

0111 

15 

1111 

 

TABELA KONWERSJI LICZB 

 

liczba 
binarna 

waga, czyli podstawa 
podniesiona do potęgi 

potęga, czyli pozycja, na 
której znajduje się cyfra 

background image

 

Mateusz Pańkowski 

 

   

          4 

 

Urządzenia 
Techniki 

Klasa I TI 

 

Przykład zamiany liczby dziesiętnej na szesnastkową (DEC -> HEX):

 

Dokonaj zamiany liczby dziesiętnej 1221

(2) 

na szesnastkową (DEC -> HEX)

 

1221

(10)

 = X

(16)

 

1221

(10)

 = 

1221 : 16 = 76    r. = 5 

    = 4C5

(16)

 

 

76 : 16 =   4    r. = 12 (C) 

 

 

4 : 16 =   0    r. = 4 

 

 

1221

(10)

 = 4C5

(16)

 

W  tym  przypadku  zamiany,  również  dokonujemy  dzielenia  z  resztą.  Dzielną  jest  liczba  dziesiętna,  dzielnikiem  - 

podstawa systemu szesnastkowego, czyli 16. Wynik pierwszego dzielenia ponownie dzielimy przez 16, aż do uzyskania 

0.  Nasza  liczba  szesnastkowa  odpowiadająca  dziesiętnej,  powstaje  poprzez  zapisanie  reszt  w  kolejności  od  dołu  do 

góry. Jeśli wartość reszty jest większa od 9, to zapisujemy ją przy pomocy litery alfabetu (A, B, C, D, E i F). Aby szybko 

obliczyć resztę z dzielenia (np. 1221 : 16) wystarczy pomnożyć część całkowitą (76) wyniku (w 1221 mieście się 76,3125 

szesnastek) przez 16. Następnie wynik mnożenia trzeba odjąć od dzielnej (1221 - (76*16)) i otrzymamy resztę 5. 

 

Przykład zamiany liczby szesnastkowej na dziesiętną (HEX -> DEC):

 

Dokonaj zamiany liczby szesnastkowej 14AC

(16) 

na dziesiętną. 

 

14AC

(16)

 = X

(10)

 

14AC

(16)

 = C*16

0

 + A*16

1

 + 4*16

2

 + 1*16

3

 = 12*1 + 10*16 + 4*256 + 

+ 1*4096 = 12 + 160 + 1024 + 4096 = 5292

(10)

 

 

14AC

(16)

 = 5292

(10)

 

Zamiany liczby szesnastkowej na dziesiętną dokonujemy analogicznie jak zamianę liczby binarnej na dziesiętną, z tym 

że  w  tym  przypadku  mnożymy  każdą  cyfrę  (również od  prawej  strony)  przez  podstawę  (16)  podniesioną  do  potęgi. 

Potęga jest równa pozycji, na której znajduje się dana liczba. W naszym przypadku pozycje są następujące: 

 

pozycja:

 

 

liczba szesnastkowa:

  1  4  A  C 

(16) 

 

Przykład zamiany liczby binarnej na szesnastkową (BIN -> HEX):

 

Dokonaj zamiany liczby binarnej 1011110101110100000101

(2) 

na szesnastkową. 

 

1011110101110100000101

(2)

 = X

(16)

 

 

Zamianę  liczby binarnej  na szesnastkową  powinniśmy zacząć od  pogrupowania jej  na części po 4 cyfry. Grupowanie 

rozpoczynamy  od  strony  prawej  i  kontynuujemy  do  końca  liczby.  Jeżeli  w  ostatniej  części  jest  mniej  niż  4  cyfry,  to 

należy uzupełnić ją o zera na pustych pozycjach: 

 1011110101110100000101 =      10  1111  0101  1101  0000  0101

(2)

 = 

 

background image

 

Mateusz Pańkowski 

 

   

          5 

 

Urządzenia 
Techniki 

Klasa I TI 

 

=  0010  1111  0101  1101  0000  0101

(2)

 

 

Teraz  wykorzystamy  tabelkę  konwersji  liczb  i  wszystkie,  czterocyfrowe,  pogrupowane  znaki  zamieniamy  na 

odpowiadające im cyfry szesnastkowe: 

0010 

1111 

0101 

1101 

0000 

0101 

 

001011110101110100000101

(2)

 = 2F5D05

(16)

 

Tak więc, w bardzo prosty sposób otrzymaliśmy liczbę szesnastkową. 

 

Przykład zamiany liczby szesnastkowej na binarną (HEX -> BIN):

 

Dokonaj zamiany liczby szesnastkowej A4B9F0

(16)  

na binarną. 

 

A4B9F0

(16)

 = X

(2)

 

 

Konwersja w tą stronę jest jeszcze prostsza. Również i tu wykorzystamy tabelę konwersji liczb. Aby dokonać zamiany, 

wystarczy  zamiast  cyfr  heksadecymalnych  podstawić  odpowiadające  im  ciągi  binarne  (po  cztery  cyfry)  i  połączyć 

później w jedną liczbę. Mamy liczbę A4B9F0

(16)

 

1010 

0100 

1011 

1001 

1111 

0000 

 

Łączymy czterocyfrowe ciągi binarne w całość i zapisujemy liczbę binarną. Wynik jest następujący: 

 

A4B9F0

(16)

 = 101001001011100111110000

(2)

 

Konwertowanie BIN -> HEX / HEX -> BIN w przedstawiony sposób jest o wiele łatwiejsze, niż mielibyśmy zamieniać  

BIN -> DEC -> HEX / HEX -> DEC -> BIN. Nie dość, że obliczenia wykonujemy znacznie szybciej, to przy okazji zmniejsza 

się prawdopodobieństwo popełnienia gdzieś błędu w obliczeniach. 

 

System ósemkowy

 (

oktalny

) -> OCT

 

Pozycyjny system liczbowy w którym podstawą jest liczba 8. Liczby zapisuje się przy pomocy kolejnych cyfr arabskich 

{0, 1, 2, 3, 4, 5, 6, 7}. Mimo, że system ten jest dużo rzadziej stosowany niż poprzednie systemy liczbowe, to jednak 

warto znać. Typowym zastosowaniem systemu ósemkowego w informatyce jest nadawanie uprawnień dostępu do 

plików w systemie Linux przy pomocy polecenia chmod

Konwersja liczb ósemkowych na postać dziesiętną i odwrotnie, jest wykonywana analogicznie jak konwersja w 

systemach binarnych i heksadecymalnych. 

 

 

 

background image

 

Mateusz Pańkowski 

 

   

          6 

 

Urządzenia 
Techniki 

Klasa I TI 

 

ĆWICZENIA 

1)  Dokonaj konwersji liczb dziesiętnych na binarne. 

a)  389

(10)

 

b)  693

(10)

 

c)  1732

(10)

 

d)  2214

(10)

 

 

2)  Dokonaj konwersji liczb binarnych na dziesiętne. 

a)  110101

(2)

 

b)  1110111100

(2)

 

c)  11010010011001

(2)

 

d)  11111111000011111

(2)

 

 

3)  Dokonaj konwersji liczb binarnych na szesnastkowe 

a)  10111010111011111

(2)

 

b)  10001110101000011111

(2)

 

c)  1110000011101001111101010111

(2)

 

d)  111100001111000101010100110011111010100011111010101010100000

(2)

 

 

4)  Dokonaj konwersji liczb szesnastkowych na binarne 

a)  C56E

(16)

 

b)  ABCDE

(16)

 

c)  66BF13A

(16)

 

d)  FF99CB61AA

(16)