dwójkowy system liczbowy
DESCRIPTION
Dwójkowy system liczbowy. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/1.jpg)
Dwójkowy system
liczbowy
![Page 2: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/2.jpg)
Dwójkowy system liczbowy (inaczej binarny) to pozycyjny system liczbowy, w którym podstawą pozycji są kolejne potęgi liczby 2. Do zapisu liczb potrzebne są więc tylko dwa znaki: 0 i 1. Powszechnie używany w informatyce. Jak w każdym pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciąg cyfr, z których każda jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu.
![Page 3: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/3.jpg)
System binarny, inaczej zwany dwójkowym (niekiedy zero jedynkowym) jest nieco inny od dziesiętnego. Występują tu tylko dwie wartości 0 oraz 1. Jest to minimalny zestaw znaków, jaki jest potrzebny do zapisu dowolnej liczby. Działa on analogicznie tak samo jak inne systemy. Pierwsza liczba w naszym systemie to 0 (zero). W systemie dwójkowym, liczba ta również jest równa 0, gdyż istnieje tam taka cyfra. Kolejna liczba to 1 (jeden). W systemie dwójkowym, również taka cyfra istnieje, więc zapisujemy 1. Kolejna liczba to 2 (dwa). Wiemy, że nie istnieje tam taka cyfra, więc dodajemy kolejną pozycję, a pozycję wysuniętą na prawo, zerujemy. Zatem liczba 2 w systemie dziesiętnym ma postać „10” w systemie dwójkowym. Kolejne liczby w systemie dziesiętnym to: 3, 4, 5, 6, 7, 8, 9 itd. W systemie dwójkowym wyglądają one odpowiednio: 11, 100, 101, 110, 111, 1000, 1001. Zasada jest cały czas taka sama.
![Page 4: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/4.jpg)
Znak dwójkowy (0 lub 1) nazywany jest bitem. Nazwa bit pochodzi od angielskiego określenia binary digit (dwójkowa cyfra). Ponieważ występują dwie wartości system wziął od tego swoją nazwę - dwójkowy. Mimo, iż występują tylko 0 i 1, za pomocą systemu binarnego można zapisać każdą liczbę.
![Page 5: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/5.jpg)
Dodawanie
Do wykonywania dodawania niezbędna jest znajomość wyników sumowania każdej cyfry z każdą inną. W systemie binarnym mamy tylko dwie cyfry 0 i 1, zatem :
0 + 0 = 00 + 1 = 11 + 0 = 1
1 + 1 = 10
![Page 6: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/6.jpg)
PrzykładZsumować liczby binarne 1111001(2) oraz 10010(2).
1.Sumowane liczby zapisujemy jedna pod drugą tak, aby w kolejnych kolumnach znalazły się cyfry stojące na pozycjach o tych samych wagach (identycznie postępujemy w systemie dziesiętnym zapisując liczby w słupkach przed sumowaniem):
1111001 + 10010
2.Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:
1111001 + 10010 1011
![Page 7: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/7.jpg)
3.Jeśli wynik sumowania jest dwucyfrowy (1 + 1 = 10), to pod kreską zapisujemy tylko ostatnią cyfrę 0, a 1 przechodzi do następnej kolumny - dodamy ją do wyniku sumowania cyfr w następnej kolumnie. Jest to tzw. Przeniesienie. Przeniesienie zaznaczono na czerwono:
1 1111001 + 10010 010114.Jeśli w krótszej liczbie zabrakło cyfr, to dopisujemy zera. Pamiętajmy o przeniesieniach.
111 1111001
+ 0010010 0001011
![Page 8: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/8.jpg)
5. Dodaliśmy wszystkie cyfry, ale przeniesienie wciąż wynosi 1. Zatem dopisujemy je do otrzymanego wyniku (możemy potraktować pustą kolumnę tak, jakby zawierała cyfry 0 i do wyniku sumowania dodać przeniesienie).
111 01111001
+ 00010010 10001011
1111001(2) + 10010(2) = 10001011(2) (121 + 18 = 139)
![Page 9: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/9.jpg)
OdejmowaniePrzy odejmowaniu korzystamy z tabliczki odejmowania, która w
systemie binarnym jest bardzo prosta:0 - 0 = 00 - 1 = 1 i pożyczka do następnej pozycji1 - 0 = 11 - 1 = 0
Odejmując 0 - 1 otrzymujemy wynik 1 i pożyczkę do następnej pozycji. Pożyczka oznacza konieczność odjęcia 1 od wyniku odejmowania cyfr w następnej kolumnie. Identycznie postępujemy w systemie dziesiętnym, tyle że tam jest to o wiele bardziej skomplikowane.
Na razie załóżmy, iż od liczb większych odejmujemy mniejsze (w przeciwnym razie musielibyśmy wprowadzić liczby ujemne, a nie chcemy tego robić w tym miejscu).
![Page 10: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/10.jpg)
PrzykładWykonać odejmowanie w systemie binarnym 1101110(2) - 1111(2)
1.Obie liczby umieszczamy jedna pod drugą tak, aby ich cyfry znalazły się w kolumnach o tych samych wagach:
1101110 - 1111
2.Odejmowanie rozpoczynamy od cyfr ostatniej kolumny. Wyniki zapisujemy pod kreską. W tym przykładzie odjęcie ostatnich cyfr 0 - 1 daje wynik 1 oraz pożyczkę do następnej kolumny. Pożyczki zaznaczamy kolorem czerwonym.
1 1101110
- 1111 1
![Page 11: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/11.jpg)
3.Odjęcie cyfr w drugiej od końca kolumnie daje wynik 1 - 1 = 0. Od tego wyniku musimy odjąć pożyczkę 0 - 1 = 1 i pożyczka do następnej kolumny.
11 1101110
- 1111 11
4.Według tych zasad kontynuujemy odejmowanie cyfr w pozostałych kolumnach. Pamiętaj o pożyczkach! Jeśli w krótszej liczbie zabraknie cyfr, to możemy kolumny wypełnić zerami:
11111 1101110
- 0001111 1011111
1101110(2) - 1111(2) = 1011111(2) (110(10) - 15(10) = 95(10))
![Page 12: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/12.jpg)
Mnożenie
Naukę mnożenia binarnego rozpoczynamy od tabliczki mnożenia.
0 x 0 = 00 x 1 = 01 x 0 = 01 x 1 = 1
Tabliczka mnożenia binarnego (podobnie jak w systemie dziesiętnym) posłuży do tworzenia iloczynów częściowych cyfr mnożnej przez cyfry mnożnika. Iloczyny te następnie dodajemy wg opisanych zasad i otrzymujemy wynik mnożenia.
![Page 13: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/13.jpg)
Pomnożyć binarnie liczbę 1101(2) przez 1011(2).1.Obie liczby umieszczamy jedna pod drugą tak, aby ich cyfry znalazły się
w kolumnach o tych samych wagach: 1101
x 1011
2.Każdą cyfrę mnożnej mnożymy przez poszczególne cyfry mnożnika zapisując wyniki mnożeń w odpowiednich kolumnach - tak samo postępujemy w systemie dziesiętnym, a tutaj jest nawet prościej, gdyż wynik mnożenia cyfry przez cyfrę jest zawsze jednocyfrowy:
1101 x 1011
1101 1101 0000 1101
![Page 14: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/14.jpg)
Puste kolumny uzupełniamy zerami i dodajemy do siebie wszystkie cyfry w kolumnach. Uwaga na przeniesienia.
1101 x 1011
0001101 0011010
+ 1101000 10001111
![Page 15: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/15.jpg)
DzielenieDzielenie binarne jest najbardziej skomplikowaną operacją
arytmetyczną. Wymyślono wiele algorytmów efektywnego dzielenia. Tutaj skorzystamy ze sposobu, który polega na cyklicznym odejmowaniu odpowiednio przesuniętego dzielnika od dzielnej. W systemie dwójkowym jest to szczególnie proste, ponieważ dzielnika nie musimy mnożyć.
Podzielimy liczbę 1101(2) przez 10(2) (13(10) : 2(10))
1. Przesuwamy w lewo dzielnik, aż zrówna się jego najstarszy, niezerowy bit z najstarszym, niezerowym bitem dzielnej. Nad dzielną rysujemy kreseczkę:
1101 - dzielna 10 - przesunięty dzielnik
![Page 16: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/16.jpg)
2.Porównujemy dzielną z dzielnikiem. Jeśli dzielna jest większa lub równa dzielnikowi, to odejmujemy od niej dzielnik. Ponad kreską na pozycji ostatniej cyfry dzielnika piszemy 1. Jeśli dzielna jest mniejsza od dzielnika, to nie wykonujemy odejmowania, lecz przesuwamy dzielnik o 1 pozycję w prawo i powtarzamy opisane operacje. Jeśli w ogóle dzielnika nie da się odjąć od dzielnej (np. przy dzieleniu 7 przez 9), to wynik dzielenia wynosi 0, a dzielna ma w takim przypadku wartość reszty z dzielenia. W naszym przykładzie odejmowanie to jest możliwe, zatem:
1 - pierwsza cyfra wyniku dzielenia 1101 - dzielna - 10 - przesunięty dzielnik 0101 - wynik odejmowania dzielnika od dzielnej
![Page 17: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/17.jpg)
3. Dzielnik przesuwamy o jeden bit w prawo i próbujemy tego samego z otrzymaną różnicą. Jeśli odejmowanie jest możliwe, to nad kreską w następnej kolumnie dopisujemy 1, odejmujemy dzielnik od różnicy, przesuwamy go o 1 bit w prawo i kontynuujemy. Jeśli odejmowanie nie jest możliwe, to dopisujemy nad kreską 0, przesuwamy dzielnik o 1 bit w prawo i kontynuujemy. 110 - wynik dzielenia 1101 - dzielna - 10 - przesunięty dzielnik 0101 - dzielna po pierwszym odejmowaniu przesuniętego dzielnika- 10 - przesunięty dzielnik 0001 - dzielna po drugim odejmowaniu przesuniętego dzielnika- 10 - dzielnik na swoim miejscu, odejmowanie niemożliwe 0001 - reszta z dzielenia
![Page 18: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/18.jpg)
4. Operacje te wykonujemy dotąd, aż dzielnik osiągnie swoją pierwotną wartość. Pozostała dzielna jest resztą z dzielenia. Oczywiście w tym momencie możemy dalej kontynuować odejmowanie wg opisanych zasad otrzymując kolejne cyfry ułamkowe - identycznie postępujemy w systemie dziesiętnym.
W naszym przykładzie otrzymaliśmy wynik dzielenia równy:
1101(2) : 10(2) = 110(2) i resztę 1(2) (6(10) i 1(10))
Jest to wynik poprawny, gdyż 2 mieści się w 13 sześć razy i pozostaje reszta 1.
![Page 19: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/19.jpg)
Liczby ujemne w systemie dwójkowym
a) Standardowy sposób zapisu:Zapis z tzw. bitem znaku poprzedzającym całą liczbę dwójkową, np.: 5 = 00101 -5 = 10101Przykładowa liczba (5) zapisana na pięciu bitach, z których pierwszy (od lewej) traktowany jest jako znak i którego nie można pominąć w zapisie liczby. Cyfra 1 na pozycji bitu znaku oznacza liczbęujemną.
Istotną wadą zapisu ujemnych liczb dwójkowych z bitem znaku jest – występująca w większościprzypadkach – różna od zera suma dwóch przeciwnych liczb, np.: 5 00101 (+)-5 + 10101----------- ----------- 0 11010Wady tej nie posiada tzw. reprezentacja (kod) uzupełnieniowa.
![Page 20: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/20.jpg)
b) Reprezentacja uzupełnieniowa (U2)Zapis matematyczny dowolnej binarnej liczby całkowitej a, zapisanej na n bitach:
dla a ³ 0 liczba w kodzie U2 = adla a < 0 liczba w kodzie U2 = a + 2n
Np. (dla n = 5):a = 5 liczba(U2) = 5 = 00101(2)a = -5 liczba(U2) = -5 + 25 = 27 = 11011(2)
Sprawdzenie: 5 00101 (+)-5 - 11011 ---- ------------ 0 100000W praktyce przekształcenie liczby dwójkowej dodatniej na ujemną sprowadza się do wzajemnejzamiany „0” i „1” w liczbie dodatniej i dodania do wyniku cyfry „1”. a = 5, n = 5
5 ---> 00101 (zamiana) ---> 11010 + 1 -5 ---> 11011
![Page 21: Dwójkowy system liczbowy](https://reader035.vdocuments.pub/reader035/viewer/2022062314/568134ef550346895d9c30b2/html5/thumbnails/21.jpg)
Jakub Nogała kl. III e