|
Arytmetyka komputerowa |
|||
System dwójkowy czyli binarny System dwójkowy, składa się tylko z dwóch cyfr: 0 (zero) i 1 (jeden). Działa on analogicznie tak samo jak system dziesiętny. Weźmy na przykład kilka pierwszych liczb naszego systemu dziesiętnego. Będziemy je konwertować na system dwójkowy, zwany również binarnym. 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. Bynajmniej nie jest to "dziesięć" tylko "jeden, zero". 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.
Po co komputerowi taki system? Komputer składa się z części elektronicznych. Wymiana informacji polega na odpowiednim przesyłaniem sygnałów. Podstawą elektroniki jest prąd elektryczny, który w układach elektronicznych albo płynie albo nie. Zatem, aby łatwiej było komputerowi rozpoznawać sygnały, interpretuje on płynący prąd jako "1" (jeden), a jego brak jako "0" (zero). Nie trudno się domyślić, że komputer operując odpowiednim ustawieniem, kiedy ma płynąc prąd, a kiedy nie ustawia różne wartości zer i jedynek. Procesor konwertuje je na liczby i w ten sposób powstają czytelne dla nas obrazy, teksty, dźwięk itd. Nie tylko w postaci sygnałów elektrycznych reprezentowane mogą być zera lub jedynki. Również na wszelkich nośnikach, np. płyta CD, na której nagrywarka wypala malutkie wgłębienia. Właśnie te wgłębienia są jedynkami, a "równiny" zerami (albo i odwrotnie). Zatem podsumujmy: komputer zna tylko zera i jedynki. Bity przyjmują tylko jedną z tych dwóch wartości. Osiem bitów to jeden bajt. Ustawienie ośmiu bitów decyduje o numerze, który może przyjąć maksymalnie 256. Numer decyduje o znaku, jaki komputer ma wykorzystać.
Konwersja liczby dwójkowej (binarnej) na dziesiętną Skoro już wiesz, po co nam system binarny, dowiesz się jak przeliczać go na system dziesiętny. Podstawą jest naturalnie liczba 2. Weźmy sobie zatem jakąś liczbę zapisaną w systemie dwójkowym, np. 1000011. Jak już wcześniej mówiliśmy, zaczynamy od cyfr wysuniętych najbardziej na prawo (na końcu). Najbardziej na prawo wysunięta (na końcu) jest cyfra 1, a więc tak jak poprzednio mnożymy ją przez podstawę systemu z odpowiednią potęgą. Podstawą systemu jest 2. Zatem, cała konwersja ma postać: 1*20 + 1*21 + 0*22 + 0*23 +0*24 + 0*25 +1*26, a to się równa: 1 + 2 + 0 + 0 + 0 + 0 + 64, czyli suma wynosi 67 w systemie dziesiętnym. Właśnie skonwertowano liczbę w zapisie dwójkowym na zapis dziesiętny. Teraz dobrze by było gdybyś przeanalizował sobie dokładnie powyższą konwersję. Jeżeli jej nie rozumiesz - przeczytaj jeszcze raz. Jeżeli rozumiesz - zapraszam dalej.
Konwersja liczby dziesiętnej na dwójkową (binarną) Konwertowanie odwrotne, to znaczy z zapisu dziesiętnego na dwójkowy. Najpierw bierzemy liczbę, jaką chcemy skonwertować na zapis dwójkowy. Weźmy liczbę z poprzedniego rozdziału i sprawdźmy, czy nam się to zgadza. Zatem, liczba którą będziemy konwertować to 67. Sposób jest następujący: liczbę dzielimy przez 2 i jeżeli wynik będzie z resztą: zapisujemy 1, jeżeli nie - zapisujemy 0. Następnie znowu dzielimy przez 2 to co zostało z liczby, ale bez reszty. Taki proces trwa, aż zostanie 0 (zero). Otrzymane zera i jedynki zapisujemy w odwrotnej kolejności. Wyjaśni się to wszystko na poniższym przykładzie:
Co daje 1000011.
Wynik zgadza się. Widać również, że zawsze na samym końcu po podzieleniu będzie 0, zatem ostatnia liczba jest równa 1. Jeden podzielić na dwa zawsze wyjdzie 0,5 zatem wynik z resztą. Co za tym idzie - pierwsza cyfra w zapisie dwójkowym jest ZAWSZE RÓWNA 1. Nie tylko matematycznie można to udowodnić. W elektronice, również musi być taka postać rzeczy. Przyjęliśmy bowiem, że dla komputera brak przepływu prądu oznacza "0", natomiast przepływ prądu - "1". Sygnał zatem nie może zaczynać się od "0", gdyż jest to brak sygnału (brak napięcia). Procesor nie wie, czy sygnał już się zaczął, czy jeszcze nie. Początek musi być "1" (jest sygnał).
Algorytmy
do przeliczania z systemu n na system liczbowy dziesiętny Zadanie
(a) Zamień liczby: 11100111(2) ; 0101010(2) ; 1000101(2) ; 11001100(2); 10101010(2); 11001100(2); 10011001(2) na odpowiadające im liczby w systemie dziesiętnym.
(b) Zamień liczby: 234(10) ; 356(10) ; 77(10) ; 123(10) ; 765(10); 1056(10); 999(10) na odpowiadające im liczby w systemie dwójkowym.
|
(C) ZS36 - 2011