background image

Reprezentacja liczb w 

systemie binarnym

ułamki i liczby ujemne

M@rek Pudełko

Urządzenia Techniki 

Komputerowej

background image

Spis treści

• System zapisu znak – moduł
• System zapisu U1
• System zapisu U2

• Ułamki w systemie binarnym

2

background image

System zapisu znak-moduł

• W tym systemie najstarszy bit (z lewej 

strony) informuje o znaku liczby.

• 0 

liczba dodatnia

• 1 

liczba ujemna

• Pozostałe bity mają takie samo 

znaczenie i reprezentują wartość liczby.

3

background image

System zapisu znak-moduł

• 1011

2

 = 11

10

• -11

10 

11011

zm

• +11

10

01011

zm

• Liczbę w tym systemie oznaczamy 

sygnaturką zm (znak-moduł) lub sm 
(sign – magnitude)

• Spotyka się jeszcze inny sposób zapisu 

przez oddzielenie znaku od modułu 
wykrzyknikiem

• -11

10 

1!1011

zm

• +11

10

0!1011

zm

4

background image

Przykład zapisu systemu 

znak-moduł

5

Liczba ZM

wartość

Liczba ZM

wartość

0000

0

1000

-0

0001

1

1001

-1

0010

2

1010

-2

0011

3

1011

-3

0100

4

1100

-4

0101

5

1101

-5

0110

6

1110

-6

0111

7

1111

-7

• Dla 4 bitów najwyższy bit informuje o znaku, a pozostałe 3 to 

wartość liczby.

• Zwraca uwagę podwójna reprezentacja zera jako 0000 i 1000.

background image

System zapisu U1 

(uzupełnienie do 1)

• W tym systemie najstarszy bit (z lewej 

strony) informuje o znaku liczby.

• 0 

liczba dodatnia

• 1 

liczba ujemna

• Liczby ujemne tworzy się negując 

odpowiadającą jej liczbę dodatnią.

6

background image

System zapisu U1

• 1011

2

 = 11

10

• +11

10

01011

u1

• Wartość liczby dodatniej jest 

analogiczna jak dla naturalnego kodu 
binarnego.

• -11

10

10100

u1

• Liczbę ujemna uzyskujemy negując (0 

→ 1 i 1→0) poszczególne cyfry liczby 
dodatniej.

• Liczbę w tym systemie oznaczamy 

sygnaturką U1

7

background image

Liczba ujemna w systemie 

zapisu U1

8

• Chcąc uzyskać liczbę ujemną, należy 

najpierw utworzyć odpowiadającą jej 
liczbę dodatnią.

• +19

10

010011

U1

• Następnie negujemy ją zmieniając 0 w 

1, a 1 w 0.

• -19

10

101100

U1

background image

Przykład zapisu systemu U1

9

Liczba U1

wartość

Liczba U1

wartość

0000

0

1000

-7

0001

1

1001

-6

0010

2

1010

-5

0011

3

1011

-4

0100

4

1100

-3

0101

5

1101

-2

0110

6

1110

-1

0111

7

1111

-0

• Dla 4 bitów najwyższy bit informuje o znaku, a pozostałe 3 to 

wartość liczby.

• Zwraca uwagę podwójna reprezentacja zera jako ciąg samych 

zer lub samych jedynek.

background image

System zapisu U2 

(uzupełnienie do 2)

• W tym systemie najstarszy bit (z lewej 

strony) informuje o znaku liczby.

• 0 

liczba dodatnia

• 1 

liczba ujemna

• Liczby ujemne tworzy się negując 

odpowiadającą jej liczbę dodatnią i 
zwiększając ją o 1.

10

background image

System zapisu U2

• 1011

2

 = 11

10

• +11

10

01011

U2

• Wartość liczby dodatniej jest 

analogiczna jak dla naturalnego kodu 
binarnego.

• -11

10

10101

U2

• Liczbę ujemną uzyskujemy negując (0 

→ 1 i 1→0) cyfry liczby dodatniej i 
zwiększając ją o 1.

• Liczbę w tym systemie oznaczamy 

sygnaturką U2

11

background image

Liczba ujemna w systemie 

zapisu U2

12

• Chcąc uzyskać liczbę ujemną, należy 

najpierw utworzyć jej dopowiadającą 
liczbę dodatnią.

• +19

10

010011

2

• Następnie negujemy ją zmieniając 0 w 

1, a 1 w 0.

• -19

10

101100

U1

• Na końcu dodajemy do wyniku 1.

• -19

10

101101

U2

background image

Obliczanie liczby ujemnej w 

systemie zapisu U2

13

• Najwyższa cyfra w liczbie z systemu U2 ma 

znak -, a pozostałe plus. Zamiana na system 
dziesiętny polega na dodaniu pozostałych 
pozycji i odjęciu ich od największej wagi

.

• 101101 

U2 

= -19

Waga

5

4

3

2

1

0

Cyfra

1

0

1

1

0

1

Znak 

cyfry

-

+

-1*2

5

0*2

4

1*2

3

1*2

2

0*2

1

1*2

0

-1 * 32

0 * 16

1*8

1*4

0*2

1*1

-32 +

0 +

8 +

4+

0 +

1

-32 +

13 =

= -19

background image

Przykład zapisu systemu U2

14

Liczba U2

wartość

Liczba U2

wartość

0000

0

1000

-8

0001

1

1001

-7

0010

2

1010

-6

0011

3

1011

-5

0100

4

1100

-4

0101

5

1101

-3

0110

6

1110

-2

0111

7

1111

-1

• Dla 4 bitów najwyższy bit informuje o znaku, a pozostałe 3 to 

wartość liczby.

• Zwraca uwagę pojedyncza reprezentacja zera.

background image

Zero w systemach zapisu

15

Liczba ZM

Zero dodatnie

Zero ujemne

Znak-moduł

0000

1000

U1

0000

1111

U2

0000

• Kody Z-M i U1 są kodami symetrycznymi. Stąd 

pojawiają się dwie postacie zera. Stanowi to kłopot 
przy reprezentacji liczb w informatyce.

• Zero nie jest ani dodatnie, ani ujemne. W 

powyższych systemach ma ono albo obie postacie 
(Z-M, U1) albo jest traktowane jako liczba dodatnia 
(U2).

• Kod U2 jest kodem niesymetrycznym.

background image

Porównanie zapisu w 

systemach

Z-M, U1, U2

16

Liczba

System Znak-

Moduł

System U1

System U2

Liczba parzysta

+22 010110

ZM

010110

U

1

010110

U2

-22 110110

ZM

101001

U

1

101010

U2

Liczba nieparzysta

+25 011001

ZM

011001

U

1

011001

U2

-25 111001

ZM

100110

U

1

100111

U2

background image

Ćwiczenia

17

• Przelicz następujące liczby dziesiętne na 

system zapisu Znak-Moduł, U1, U2.

1. -17
2. -22
3. -32
4. -11
5. -59
6. -43
7. -94
8. -19
9. -25
10.-74

11.-73
12.-62
13.-38
14.-91
15.-66
16.-77
17.-42
18.-39
19.-15
20.-14

21.-31
22.-21
23.-79
24.-23
25.-14
26.-89
27.-35
28.-27
29.-36
30.-55

background image

Zadania

1. Jaka to liczba w systemie U-1?

a) 1111

u1

b) 111111

u1

c) 11111111

u1

2. Porównaj sposób liczby zapisane w systemie 

U-2?

a)   -16 i   +16
b)   -32 i   +32
c)   -64 i   +64
d) -128 i +128

3. s

18

background image

Ułamki w systemie binarnym

• W systemie binarnym ułamki 

zapisujemy analogicznie jak liczby 
rzeczywiste.

• Do przedstawienia liczb po przecinku 

używamy potęg ujemnych.

19

background image

Przeliczanie z dziesiętnego na 

binarny

• Ułamek dziesiętny obliczamy wg 

schematu:

0,625

10

=

Mnoż

na

Mnożn

ik

Wynik

Część 

całkowita

0,625

*2

20

background image

Przeliczanie z dziesiętnego na 

binarny

• Ułamek dziesiętny obliczamy wg 

schematu:

0,625

10

=

Mnoż

na

Mnożn

ik

Wynik

Część 

całkowita

0,625

*2

1,25

21

background image

Przeliczanie z dziesiętnego na 

binarny

• Ułamek dziesiętny obliczamy wg 

schematu:

0,625

10

=

Mnoż

na

Mnożn

ik

Wynik

Część 

całkowita

0,625

*2

1,25

1

0,25

*2

22

background image

Przeliczanie z dziesiętnego na 

binarny

• Ułamek dziesiętny obliczamy wg 

schematu:

0,625

10

=

Mnoż

na

Mnożn

ik

Wynik

Część 

całkowita

0,625

*2

1,25

1

0,25

*2

0,5

0

0,5

23

background image

Przeliczanie z dziesiętnego na 

binarny

• Ułamek dziesiętny obliczamy wg 

schematu:

0,625

10

=

Mnoż

na

Mnożn

ik

Wynik

Część 

całkowita

0,625

*2

1,25

1

0,25

*2

0,5

0

0,5

*2

1

1

0

24

background image

Przeliczanie z dziesiętnego na 

binarny

• Ułamek dziesiętny obliczamy wg 

schematu:

0,625

10

=

Mnoż

na

Mnożn

ik

Wynik

Część 

całkowita

0,625

*2

1,25

1

0,25

*2

0,5

0

0,5

*2

1

1

0

25

0,625

10

=0,101

2

background image

Przeliczanie z dziesiętnego na 

binarny

• Ułamek dziesiętny obliczamy wg 

schematu:

0,625

10

=

Mnoż

na

Mnożn

ik

Wynik

Część 

całkowita

0,625

*2

1,25

1

0,25

*2

0,5

0

0,5

*2

1

1

0

26

0,625

10

=0,101

2

background image

Przeliczanie z binarnego na 

dziesiętny

• Każdy ułamek dziesiętny możemy 

przedstawić jako sumę liczb binarnych 
o ujemnych potęgach.

• Ułamek dziesiętny z binarnego 

obliczamy ze wzoru:

• n= c

0

*2

0

 +c

1

*2

-1 

 +  c

2

*2

-2

 + ... + 

c

i

*2

-i

n= 

c

i

*

2

i

Wartość 

pozycji

Waga 

pozycji

27

background image

Przeliczanie z binarnego na 

dziesiętny

• Jakim ułamkiem dziesiętnym jest 0,101 

binarne?

    0,

  1

    0

1

0

-1

-2

-3

Wag

a

28

background image

Przeliczanie z binarnego na 

dziesiętny

• Jakim ułamkiem dziesiętnym jest 0,101 

binarne?

    0,

  1

    0

1

0

-1

-2

-3

Wag

a

0 * 

2

0

+ 1 * 

2

-1

+ 0 * 

2

-2

+ 1 * 

2

-3

+

=

29

background image

Przeliczanie z binarnego na 

dziesiętny

• Zamieniamy ujemne potęgi na ułamek zwykły

    0,

  1

    0

1

0

-1

-2

-3

Wag

a

0 * 

2

0

+ 1 * 

2

-1

+ 0 * 

2

-2

+ 1 * 

2

-3

+

=

0 * 

0

+

1 * 

1/2

1

+

0 * 

1/2

2

+

1 * 

1/2

3

+

=

30

background image

Przeliczanie z binarnego na 

dziesiętny

• Wyliczamy ułamki

    0,

  1

    0

1

0

-1

-2

-3

Wag

a

0 * 

2

0

+ 1 * 

2

-1

+ 0 * 

2

-2

+ 1 * 

2

-3

+

=

0 * 

0

+

1 * 

1/2

1

+

0 * 

1/2

2

+

1 * 

1/2

3

+

=

0 * 

0

+

1 * 

1/2

+

0 * 

1/4

+

1 * 

1/8

+

=

31

background image

Przeliczanie z binarnego na 

dziesiętny

• Zamieniamy ułamki zwykłe na 

dziesiętne

    0,

  1

    0

1

0

-1

-2

-3

Wag

a

0 * 

2

0

+ 1 * 

2

-1

+ 0 * 

2

-2

+ 1 * 

2

-3

+

=

0 * 

0

+

1 * 

1/2

1

+

0 * 

1/2

2

+

1 * 

1/2

3

+

=

0 * 

0

+

1 * 

0,5

+

0 * 

0,25

+

1 * 

0,125

+

=

32

background image

Przeliczanie z binarnego na 

dziesiętny

• Zamieniamy ułamki zwykłe na 

dziesiętne

    0,

  1

    0

1

0

-1

-2

-3

Wag

a

0 * 

2

0

+ 1 * 

2

-1

+ 0 * 

2

-2

+ 1 * 

2

-3

+ =

0 * 

0

+

1 * 

1/2

1

+

0 * 

1/2

2

+

1 * 

1/2

3

+

=

0 +

0,5+

0 +

0,125 =0,6

25

33

0,101

2

=0,625

10

background image

Co to za ułamek dziesiętny?

• 0,1101

2

• 0,10011

2

34

background image

Co to za ułamek dziesiętny?

• 0,1101

2   

= 0,8125 

• 0,10011

2

= 0,59375 

35

background image

Zamień na ułamek binarny

• 0,375
• 0,5125
• 0,6
• 0,15

36

background image

Zamień na ułamek binarny

• 0,375   = 0,011

• 0,5125 = 0, 1000 (0011)

 2

• 0,6        = 0, (1001)

 2

• 0,15      = 0, 00 (1001)

 2

37


Document Outline