Sysetemy szsnastkowy i inne, Systemy bianrny,dziesietny,szesnastkowy, Reprezentacje liczb


Reprezentacje liczb. Systemy liczbowe.

W systemie liczbowych (pozycyjnych) wartość liczby zależy od pozycji, na której zapiszemy liczbę.
W systemie dziesiętnym kolejne pozycje liczb (od prawej) mają wagi odpowiadające kolejnym potęgom liczby 10, licząc od potęgi zerowej.
Np. liczba 272

liczba

2

7

2

waga

102
=100

101
=10

100
=1


Wartość liczby na danej pozycji uzyskujemy mnożąc wagę przez liczbę, czyli 2·100+7·10+2·1. Wartość pierwszej liczby 2 (od prawej) jest różna od wartości drugiej liczby 2. W systemie dziesiętnym do zapisu liczb używamy cyfr 0,1,2,3,4,5,6,7,8,9, w binarnym 0 i 1

1. Zamiana liczb całkowitych z systemu dziesiętnego (decymalnego) na dwójkowy (binarny) i z binarnego na dziesiętny

A. Zamiana: dziesiętny na binarny

0x01 graphic

gdzie n - ilość bitów do przedstawienia liczby

a) Liczby nieujemne - Metoda 1.
Dzielimy liczbę przez 2 z resztą. Resztę zapisujemy obok, wynik dzielenia pod dzielną, liczbę odczytujemy od dołu np.

29

:

2

|

1

14

:

2

|

0

7

:

2

|

1

3

:

2

|

1

1

:

1

|

1

Dziesiętne 29 = Binarne 00011101

Liczby nieujemne - Metoda 2.
Z liczby staramy się wyłączyć możliwie największą potęgę liczby 2, następnie od liczby odejmujemy tą potęgę i staramy się wyłączyć kolejną (mniejszą). Np.
Największą potęgą liczby 2 jaką da się wyłączyć z 29 jest 24 czyli 16.

24

23

22

21

20

1

1

1

0

1

29 - 16 = 15, a zatem pod 24 zapisuję 1 i sprawdzam, czy da się wyłączyć niższą potęgę, jeżeli się da - zapisuję pod nią 1 jeżeli nie 0, tak długo, aż sprawdzę wszystkie potęgi do 20.

b) Liczby ujemne
Np. wyznaczanie postaci binarnej liczby -29, zapis liczby w 1 bajcie.

  1. wyznaczyć postać binarną wartości bezwzględnej liczby 29 - patrz a)

  2. odwrócić bity
    0 0 0 1 1 1 0 1
    po odwróceniu
    1 1 1 0 0 0 1 0

  3. dodać binarną jedynkę
    1 1 1 0 0 0 1 0
    +             1
    _______________
    1 1 1 0 0 0 1 1


B. Zamiana binarny na dziesiętny

Jeżeli pierwszy bit jest bitem znaku, to 0 oznacza liczbę dodatnią, a 1 liczbę ujemną.
a) liczby nieujemne Wpisujemy od prawej strony kolejne potęgi liczby 2, zaczynając od 20 i mnożymy przez odpowiednie cyfry z liczby binarnej. Uzyskane wyniki dodajemy.
0x01 graphic

czyli 1·24+1·23+1·22+0·21+1·20=29.

b) liczby ujemne - odwrotność metody zamiany liczby ujemnej dziesiętnej na postać binarną

  1. odjąć binarną jedynkę
    1 1 1 0 0 0 1 1
    -             1
    _______________
    1 1 1 0 0 0 1 0

  2. odwrócić bity
    po odwróceniu
    0 0 0 1 1 1 0 1

  3. zamienić na postać dziesiętną (wg wzoru powyższego - z punktu a)).


2.Zamiana liczb rzeczywistych, niecałkowitych z systemu dziesiętnego na binarny i z binarnego na dziesiętny

A. Zamiana: dziesiętny na binarny

Kod liczb dziesiętnych wyznaczamy na podstawie:

a) liczby nieujemne, x(0,1)
Mnożymy przez 2. Część całkowita stanowi rozwinięcie binarne (zapisujemy "za kreską"), część ułamkową zapisujemy pod mnożną, np. 0,782. odczytujemy od góry.
!Pierwszy bit stanowi bit znaku, przedstawione w postaci 1 bajta

0,728

·2

|

1

0,456

·2

|

0

0,912

·2

|

1

0,824

·2

|

1

0,648

·2

|

1

0,296

·2

|

0

0,592

·2

|

1

0,184

 

 

 

czyli dziesiętne 0,728 to binarne 0 1011101 (należy pamiętać, że rozwinięcie binarne będzie zaokrąglone).

b) liczby ujemne, x(-1,0)

  1. wyznaczyć kod uzupełnieniowy wartości bezwzględnej (j.w.)

  2. odwrócić bity 0 1 0 1 1 1 0 1
    po odwróceniu
    1 0 1 0 0 0 1 0

  3. dodać binarną jedynkę na końcu
    1 0 1 0 0 0 1 0
    +             1
    _______________
    1 0 1 0 0 0 1 1



B. Zamiana: binarny na dziesiętny
!Pierwszy bit stanowi bit znaku

a) liczby nieujemne, x(0,1) - pierwszy bit 0
dla kolejnych bitów stanowiących zapis liczby (czyli nie dla bitu znaku) od prawej strony wpisujemy kolejne, ujemne potęgi liczby dwa, od 2-1
0x01 graphic

liczba 0 1011101 to dziesiętne
1·2-1+0·2-2+0·2-3+0·2-4+0·2-5+0·2-6+0·2-6=0,7265625
różnica między 0,728 a powstałą liczbą po przeliczeniu z liczby binarnej na dziesiętną (błąd zaokrągleń)

b) liczby ujemne, x(-1,0) - pierwszy bit 1

  1. odjąć jedynkę binarną z końca
    1 0 1 0 0 0 1 1
    -             1
    _______________
    1 0 1 0 0 0 1 0

  2. odwrócić bity

  3. przeliczyć na liczbę dziesiętną, tak jak liczbę dodatnią.


3. Zamiana liczb całkowitych z systemu dziesiętnego na szesnastkowy i z szesnastkowego na dziesiętny

W liczbach szesnastkowych, obok cyfr od 0 do 9 do zapisu liczb używamy również następujących cyfr:

cyfra

wartość

A
B
C
D
E
F

10
11
12
13
14
15


A. Zamiana: dziesiętny (decymalnego) na szesnastkowy (heksadecymalny)
np. 154
a) metoda 1

  1. zamieniamy na liczę binarną
    Dziesiętne 124 = Binarne 01111001

  2. Dzielimy liczbę binarną co cztery bity od prawej strony 0111 1100

Powstałe liczby binarne (składające się z 4 bitów), przeliczamy na liczby dziesiętne, a tym przypisujemy odpowiednie cyfry z systemu szesnastkowego

binarnie

0111

1100

dziesiętnie

7

10

szesnastkowo

7

C

czyli dziesiętne 124 = szesnastkowe 7C

b) metoda 2
Dzielę liczbę przez 16. Obok zapisuję resztę z dzielenia, a pod spodem część całkowitą z dzielenia.

dzielenie

|

reszta

| szesnastkowo

124

:

16

|

12

| C

7

:

16

|

7

| 7

0

 

 

 

 

Odczytujemy liczbę od dołu. Czyli 124 dziesiętne to 7C szesnastkowe (heksadecymalne)

B. Zamiana: szesnastkowy na dziesiętny
Mnożymy liczbę szesnastkową przez kolejne potęgi liczby 16 (licząc od 160) od prawej strony i dodajemy

7

C

161

160

112

12



Wyszukiwarka