Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

37
Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne M@rek Pudełko Urządzenia Techniki Komputerowej

description

Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne. M@rek Pudełko Urządzenia Techniki Komputerowej. Spis treści. System zapisu znak – moduł System zapisu U1 System zapisu U2 Ułamki w systemie binarnym. System zapisu znak-moduł. - PowerPoint PPT Presentation

Transcript of Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Page 1: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Reprezentacja liczb w systemie binarnym

ułamki i liczby ujemne

M@rek PudełkoUrządzenia Techniki Komputerowej

Page 2: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Spis treści

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

• Ułamki w systemie binarnym

2

Page 3: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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

Page 4: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

System zapisu znak-moduł• 10112 = 1110

• -1110 11011zm

• +1110 01011zm

• 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• -1110 1!1011zm

• +1110 0!1011zm4

Page 5: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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.

Page 6: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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

Page 7: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

System zapisu U1• 10112 = 1110

• +1110 01011u1

• Wartość liczby dodatniej jest analogiczna jak dla naturalnego kodu binarnego.• -1110 10100u1

• Liczbę ujemna uzyskujemy negując (0 → 1 i 1→0) poszczególne cyfry liczby dodatniej.

• Liczbę w tym systemie oznaczamy sygnaturką U17

Page 8: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Liczba ujemna w systemie zapisu U1

8

• Chcąc uzyskać liczbę ujemną, należy najpierw utworzyć odpowiadającą jej liczbę dodatnią.• +1910 010011U1

• Następnie negujemy ją zmieniając 0 w 1, a 1 w 0.• -1910 101100U1

Page 9: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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.

Page 10: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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

Page 11: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

System zapisu U2• 10112 = 1110

• +1110 01011U2

• Wartość liczby dodatniej jest analogiczna jak dla naturalnego kodu binarnego.• -1110 10101U2

• 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ą U211

Page 12: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Liczba ujemna w systemie zapisu U2

12

• Chcąc uzyskać liczbę ujemną, należy najpierw utworzyć jej dopowiadającą liczbę dodatnią.• +1910 0100112

• Następnie negujemy ją zmieniając 0 w 1, a 1 w 0.• -1910 101100U1

• Na końcu dodajemy do wyniku 1.• -1910 101101U2

Page 13: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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*25 0*24 1*23 1*22 0*21 1*20

-1 * 32 0 * 16 1*8 1*4 0*2 1*1

-32 + 0 + 8 + 4+ 0 + 1

-32 + 13 =

= -19

Page 14: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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.

Page 15: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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.

Page 16: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Porównanie zapisu w systemachZ-M, U1, U2

16

Liczba System Znak-Moduł System U1 System U2

Liczba parzysta+22 010110ZM 010110U1 010110U2

-22 110110ZM 101001U1 101010U2

Liczba nieparzysta+25 011001ZM 011001U1 011001U2

-25 111001ZM 100110U1 100111U2

Page 17: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Ćwiczenia

17

• Przelicz następujące liczby dziesiętne na system zapisu Znak-Moduł, U1, U2.

1. -172. -223. -324. -115. -596. -437. -948. -199. -2510. -74

11. -7312. -6213. -3814. -9115. -6616. -7717. -4218. -3919. -1520. -14

21. -3122. -2123. -7924. -2325. -1426. -8927. -3528. -2729. -3630. -55

Page 18: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Zadania1. Jaka to liczba w systemie U-1?

a) 1111u1

b) 111111u1

c) 11111111u1

2. Porównaj sposób liczby zapisane w systemie U-2?a) -16 i +16b) -32 i +32c) -64 i +64d) -128 i +128

3. s

18

Page 19: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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

Page 20: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z dziesiętnego na binarny• Ułamek dziesiętny obliczamy wg schematu:

0,62510=Mnożna Mnożnik Wynik Część całkowita

0,625 *2

20

Page 21: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z dziesiętnego na binarny• Ułamek dziesiętny obliczamy wg schematu:

0,62510=Mnożna Mnożnik Wynik Część całkowita

0,625 *2 1,25

21

Page 22: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z dziesiętnego na binarny• Ułamek dziesiętny obliczamy wg schematu:

0,62510=Mnożna Mnożnik Wynik Część całkowita

0,625 *2 1,25 1

0,25 *2

22

Page 23: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z dziesiętnego na binarny• Ułamek dziesiętny obliczamy wg schematu:

0,62510=Mnożna Mnożnik Wynik Część całkowita

0,625 *2 1,25 1

0,25 *2 0,5 0

0,5

23

Page 24: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z dziesiętnego na binarny• Ułamek dziesiętny obliczamy wg schematu:

0,62510=Mnożna Mnożnik Wynik Część całkowita

0,625 *2 1,25 1

0,25 *2 0,5 0

0,5 *2 1 1

0

24

Page 25: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z dziesiętnego na binarny• Ułamek dziesiętny obliczamy wg schematu:

0,62510=Mnożna Mnożnik Wynik Część całkowita

0,625 *2 1,25 1

0,25 *2 0,5 0

0,5 *2 1 1

0

25

0,62510=0,1012

Page 26: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z dziesiętnego na binarny• Ułamek dziesiętny obliczamy wg schematu:

0,62510=Mnożna Mnożnik Wynik Część całkowita

0,625 *2 1,25 1

0,25 *2 0,5 0

0,5 *2 1 1

0

26

0,62510=0,1012

Page 27: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

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= c0*20 +c1*2-1 + c2*2-2 + ... + ci*2-i

n= ci*2i

Wartość pozycji Waga pozycji27

Page 28: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z binarnego na dziesiętny

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

0, 1 0 10 -1 -2 -3 Waga

28

Page 29: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z binarnego na dziesiętny

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

0, 1 0 10 -1 -2 -3 Waga

0 * 20+ 1 * 2-1+ 0 * 2-2+ 1 * 2-3+ =

29

Page 30: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z binarnego na dziesiętny

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

0, 1 0 10 -1 -2 -3 Waga

0 * 20+ 1 * 2-1+ 0 * 2-2+ 1 * 2-3+ =0 * 0+ 1 * 1/21+ 0 * 1/22+ 1 * 1/23+ =

30

Page 31: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z binarnego na dziesiętny

• Wyliczamy ułamki

0, 1 0 10 -1 -2 -3 Waga

0 * 20+ 1 * 2-1+ 0 * 2-2+ 1 * 2-3+ =0 * 0+ 1 * 1/21+ 0 * 1/22+ 1 * 1/23+ =0 * 0+ 1 * 1/2+ 0 * 1/4+ 1 * 1/8+ =

31

Page 32: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z binarnego na dziesiętny

• Zamieniamy ułamki zwykłe na dziesiętne

0, 1 0 10 -1 -2 -3 Waga

0 * 20+ 1 * 2-1+ 0 * 2-2+ 1 * 2-3+ =0 * 0+ 1 * 1/21+ 0 * 1/22+ 1 * 1/23+ =0 * 0+ 1 * 0,5+ 0 * 0,25+ 1 * 0,125+ =

32

Page 33: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Przeliczanie z binarnego na dziesiętny

• Zamieniamy ułamki zwykłe na dziesiętne

0, 1 0 10 -1 -2 -3 Waga

0 * 20+ 1 * 2-1+ 0 * 2-2+ 1 * 2-3+ =0 * 0+ 1 * 1/21+ 0 * 1/22+ 1 * 1/23+ =

0 + 0,5+ 0 + 0,125 =0,625

330,1012=0,62510

Page 34: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Co to za ułamek dziesiętny?

• 0,11012

• 0,100112

34

Page 35: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Co to za ułamek dziesiętny?

• 0,11012 = 0,8125

• 0,100112= 0,59375

35

Page 36: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Zamień na ułamek binarny

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

36

Page 37: Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne

Zamień na ułamek binarny

• 0,375 = 0,0112

• 0,5125 = 0, 1000 (0011) 2

• 0,6 = 0, (1001) 2

• 0,15 = 0, 00 (1001) 2

37