480 likes | 1.15k Views
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ł.
E N D
Reprezentacja liczb w systemie binarnymuł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ł • 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.
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!1011zm
Przykład zapisu systemu znak-moduł • 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.
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ą.
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ą U1
Liczba ujemna w systemie zapisu U1 • 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
Przykład zapisu systemu U1 • 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.
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.
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ą U2
Liczba ujemna w systemie zapisu U2 • 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
Obliczanie liczby ujemnej w systemie zapisu U2 • 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
Przykład zapisu systemu U2 • Dla 4 bitów najwyższy bit informuje o znaku, a pozostałe 3 to wartość liczby. • Zwraca uwagę pojedyncza reprezentacja zera.
Zero w systemach zapisu • 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.
Porównanie zapisu w systemach Z-M, U1, U2
Ćwiczenia • Przelicz następujące liczby dziesiętne na system zapisu Znak-Moduł, U1, U2. • -17 • -22 • -32 • -11 • -59 • -43 • -94 • -19 • -25 • -74 • -73 • -62 • -38 • -91 • -66 • -77 • -42 • -39 • -15 • -14 • -31 • -21 • -79 • -23 • -14 • -89 • -35 • -27 • -36 • -55
Zadania • Jaka to liczba w systemie U-1? • 1111u1 • 111111u1 • 11111111u1 • Porównaj sposób liczby zapisane w systemie U-2? • -16 i +16 • -32 i +32 • -64 i +64 • -128 i +128 • s
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.
Przeliczanie z dziesiętnego na binarny • Ułamek dziesiętny obliczamy wg schematu: • 0,62510=
Przeliczanie z dziesiętnego na binarny • Ułamek dziesiętny obliczamy wg schematu: • 0,62510=
Przeliczanie z dziesiętnego na binarny • Ułamek dziesiętny obliczamy wg schematu: • 0,62510=
Przeliczanie z dziesiętnego na binarny • Ułamek dziesiętny obliczamy wg schematu: • 0,62510=
Przeliczanie z dziesiętnego na binarny • Ułamek dziesiętny obliczamy wg schematu: • 0,62510=
Przeliczanie z dziesiętnego na binarny • Ułamek dziesiętny obliczamy wg schematu: • 0,62510= • 0,62510=0,1012
Przeliczanie z dziesiętnego na binarny • Ułamek dziesiętny obliczamy wg schematu: • 0,62510= • 0,62510=0,1012
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 pozycji
Przeliczanie z binarnego na dziesiętny • Jakim ułamkiem dziesiętnym jest 0,101 binarne?
Przeliczanie z binarnego na dziesiętny • Jakim ułamkiem dziesiętnym jest 0,101 binarne?
Przeliczanie z binarnego na dziesiętny • Zamieniamy ujemne potęgi na ułamek zwykły
Przeliczanie z binarnego na dziesiętny • Wyliczamy ułamki
Przeliczanie z binarnego na dziesiętny • Zamieniamy ułamki zwykłe na dziesiętne
Przeliczanie z binarnego na dziesiętny • Zamieniamy ułamki zwykłe na dziesiętne 0,1012=0,62510
Co to za ułamek dziesiętny? • 0,11012 • 0,100112
Co to za ułamek dziesiętny? • 0,11012 = 0,8125 • 0,100112= 0,59375
Zamień na ułamek binarny • 0,375 • 0,5125 • 0,6 • 0,15
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