Architektura systemów komputerowych przeliczanie systemów - Notatki - Informatyka, Notatki'z Informatyka. Opole University
Kowal_86
Kowal_868 March 2013

Architektura systemów komputerowych przeliczanie systemów - Notatki - Informatyka, Notatki'z Informatyka. Opole University

PDF (325.4 KB)
8 strona
654Liczba odwiedzin
Opis
Notatki dotyczące tematów z dziedziny informatyki: system dziesiętny, system ósemkowy,itd.
20punkty
Punkty pobierania niezbędne do pobrania
tego dokumentu
Pobierz dokument
Podgląd3 strony / 8
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
Architektura systemów komputerowych

Art ten jest dla tych wszystkich, którzy mają problemy ze zrozumieniem

systemów liczbowych. Dodam jeszcze od siebie, że żaden haker, programista

czy "chociażby" informatyk, nie zajedzie daleko bez niniejszej wiedzy. Powiem

nawet więcej: jest to podstawa dobrego komputerowca. Bez tego nie masz co się

uczyć języków programowania. Nie jest to zwykły kurs tejże wiedzy. Nie będę

tu, bowiem stosował żadnych oznaczeń. Nie, dlatego, że mi się nie chcę, ale

żeby było wam łatwiej wszystko zrozumieć. Zastąpię je obszernymi opisami.

Skoro wszystko już jest jasne, można zaczynać.

System dziesiętny

Dla nas, ludzi naturalnym sposobem prezentacji liczb jest system dziesiętny.

Oznacza to, że wyróżniamy dziesięć cytr. Są nimi: zero, jeden, dwa, trzy, cztery,

pięć, sześć, siedem, osiem oraz dziewięć. Oznacza się je odpowiednio: 0, 1, 2, 3,

4, 5, 6, 7, 8 oraz 9. Jak widać, wliczając zero, jest ich dziesięć. Spróbujcie

uświadomić sobie, że liczenie jest tylko i wyłącznie ILOŚCIĄ, a nie zapisem

liczb. Zapis dziesiętny powstał wieki temu, prawdopodobnie, dlatego, że mamy

dziesięć palców. Jednakże, nie będziemy teraz się zajmować historią.

Przejdźmy zatem do bardziej konkretnych rzeczy. Umiemy już policzyć do

dziecięciu, wliczając liczbę zero. Natomiast co się stanie, gdy będziemy mieli do

policzenia jakąś większą ilość? Otóż, przeskakujemy automatycznie, na

następną pozycję, a cyfry zwiększmy tylko na pozycji wysuniętej najbardziej w

prawo. Właśnie ta najbardziej w prawo wysunięta pozycja jest najsłabsza, a

najbardziej w lewo - najmocniejsza. Tym sposobem znowu zwiększamy cyfry,

aż uzyskamy dziewięć. Następna liczba, przesunie cyfrę, która znajduje się o

jedną pozycję w lewo. Natomiast gdy już nawet dziewiątka będzie na

najbardziej w lewo wysuniętej pozycji, dodajemy nową pozycję. Cykl zaczyna

się ponownie i tak w nieskończoność. Może wydać się wam to trochę

skomplikowane, ale sobie to wyjaśnimy na przykładzie. Weźmy na przykład

liczbę 274, czyli dwieście siedemdziesiąt cztery. Na najsłabszej pozycji widnieje

cyfra 4. Pozycja ta nosi nazwę pozycji jedności, jeśli pamiętacie ze szkoły

podstawowej. Mamy zatem 4 jedności. Na drugiej pozycji jest cyfra 7. Cyfra ta

znajduje się na drugiej pozycji, czyli pozycji dziesiątek. Można więc

powiedzieć, że jest tam siedem dziesiątek, inaczej mówiąc 70 jedności. Na

trzeciej natomiast pozycji jest cyfra 2. Trzecia pozycja to pozycja setek, czyli

mam dwie setki. Innymi słowy, liczba 274 to dwie setki, siedem dziesiątek i 4

jedności. Można to zapisać następująco: 4*1 + 7*10 + 2*100. Po dokonaniu

tegoż działania, wyjdzie 274. Czas, aby się temu działaniu przyjrzeć. Jak widać,

każdy kolejny składnik zawiera cyfrę z powyższej liczby oraz ciągle

zwiększający mnożnik. Mnożnik ten najpierw jest równy 1, potem 10, a na

końcu 100. Znaczy to, że każdy następny jest pomnożony przez 10. Można więc

docsity.com

zapisać to jeszcze inaczej. Liczba 274 to tak jak: 4*100 + 7*101 + 2*102. Jak

widzimy, mnożnik to liczba 10 z ciągle zwiększającą się potęgą.

Ta informacja przyda się w następnych działach omawiających przeliczanie z

jednego systemu na drugi. Zwróćmy uwagę teraz na rzecz, która chociaż trochę

uzmysłowi wam, jak działa system dziesiętny. Gdybyśmy chcieli zwiększyć o 1

liczbę 347, to zawsze, automatycznie zwiększmy cyfrę, która znajduję się na

pozycji wysuniętej najdalej w prawo. Powstanie zatem 348. Natomiast, gdy

chcemy zwiększyć o 1 liczbę 429, widzimy, że nie można już nic do 9-tki

dodać, gdyż nie ma już wyższej cyfry. Co wtedy robimy? - każdy wie.

Zwiększamy o jeden wartość cyfry znajdującej się na pozycji z lewej strony,

natomiast wartość jedności zerujemy (dajemy najniższą możliwą wartość).

Powstaje zatem 430. Jezeli natomiast chcielibyśmy zwiększyć wartość o 1

liczby 999, to widać, że : nie można zwiększyć jedności, nie można zwiększyć

dziesiątek i nie można zwiększyć setek. Dodajemy zatem następną pozycję.

Powstanie więc 1000.

Mam nadzieję, że w powyższym akapicie wyjaśniłem wam jak działa ten

przeklęty system dziesiętny i możemy już przystąpić do bardziej

spektakularnych operacji. Jeśli nie zrozumiałeś nic z powyższego tekstu, wracaj

do początku i zacznij jeszcze raz, gdyż nic tu po tobie. Natomiast, w sytuacji,

gdy wszystko rozumiesz - zapraszam do następnego akapitu.

System ósemkowy

Skoro powstał system dziesiętny, można wymyślać dowolne systemy liczenia

(na przykład czwórkowy itd.). Właśnie jednym z takich systemów jest system

ósemkowy. Początkowo był on trochę stosowany, obecnie jednak jego

zastosowanie jest znikome. Posłuży nam on jako dobry przykład. Jak się pewnie

domyślacie, w systemie tym jest osiem cyfr. Wcale się nie mylicie. Są to: 0, 1,

2, 3, 4, 5, 6 oraz 7. Jest ich, więc 8, stąd nazwa. Działa on na tej samej zasadzie,

co system dziesiętny. To znaczy, że gdy już jakaś cyfra jest na maksymalnej

wartości, zwiększamy cyfrę na następnej pozycji. Wyjaśni to się na przykładzie.

Przekształcajmy kolejne liczby i zobaczmy, jakie są różnice. Liczba zero (0) tak

samo wygląda w obu systemach. Tak samo ma się sytuacja z jedynką (1),

dwójką (2), trójką (3) itd. Sytuacja staje się skomplikowana, gdy dojedziemy do

siódemki (7). Liczba 7 wygląda tak samo w obu systemach. Jednak nadchodzi

następna liczba, zwana przez nas jako osiem. System ósemkowy nie zna takiej

cyfry, więc powstaje następna pozycja. Zatem liczba osiem (8) w systemie

dziesiętnym to liczba dziesięć (10) w systemie ósemkowym. Była to bardzo

ważna konwersja i dobrze by było, gdybyś ją zrozumiał. Liczby takie jak: 6, 7,

8, 9, 10, w systemie ósemkowym będą wyglądać odpowiednio: 6, 7, 10, 11, 12.

docsity.com

Gdybyśmy chcieli sprawdzić, czy rzeczywiście liczba na przykład 14 w

systemie ósemkowym to 12 w dziesiętnym, musimy przeprowadzić konwersję.

Dokonuje tego tak, jak robiliśmy to w akapicie o systemie dziesiętnym, z tym,

że podstawą mnożenia będzie liczba 8. Zatem, rozpisujemy liczbę 14 (s.

ósemkowy) w następujący sposób. Jest to 4*1 + 1*8, czyli 4+8 czyli 12. Innymi

słowy, jest to 4*80 + 1*81. Po policzeniu wyniku muszą się zgadzać.

Zauważcie, że w systemie dziesiętnym kolejne pozycje miały wartości: 1, 10,

100, 1000, 100000, 1000000 itd., ponieważ podstawą była liczba 10. W

systemie ósemkowym podstawą jest liczba 8, a kolejne pozycje wyglądają

następująco: 1, 8, 64, 512, 4096, 32768 itd.

System dwójkowy czyli binarny

Powiedzieliśmy sobie, że można wymyślać dowolny system zapisu liczb.

Skoro tak, to, czemu miałby nie powstać system dwójkowy, składający się tylko

z dwóch cyfr: 0 (zero) i 1 (jeden). Działa on analogicznie tak samo jak

poprzednie systemy. Wyjaśni się zaraz wszystko na konkretnym przykładzie.

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. Jak widzimy, zasada jest cały czas taka sama.

Zanim zaczniemy uczyć się, jak w prosty sposób zamienić liczbę z jednego

systemu na drugi, postawmy sobie pytanie: Po co komputerowi taki system?

No więc, jak zapewne wszyscy wiedzą, 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

docsity.com

nas obrazy, teksty, dźwięk itd. Mam nadzieję, że w ten "chłopski" sposób

wyjaśniłem wam mniej więcej jak to się odbywa. 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

nasz system dziesiętny. Otóż nie jest to zbyt skomplikowane. Przypomnijcie

sobie sposób z liczbami w systemie ósemkowym. Tu oczywiście robimy to

analogicznie tak samo, z tym, że 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 najsłabszych, czyli wysuniętych

najbardziej na prawo. Najbardziej na prawo wysunięta 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

jest to 67 w systemie dziesiętnym. Moje gratulację - udało się skonwertować

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ą)

Teraz, skoro już umiesz konwertować liczby z zapisu dwójkowego na

dziesiętny warto by było skonwertować je odwrotnie, to znaczy z zapisu

dziesiętnego na dwójkowy. Gdybyśmy liczyli na piechotę, byśmy musieli

sprawdzać kolejne wielokrotności liczby 2. Sposób ten raczej jest mało

stosowany, zajmijmy się trochę lepszym. Jest to prosty sposób, wcale nie

wymaga myślenia. 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

docsity.com

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

konkretnym przykładzie. Zatem do dzieła:

67 :2 | 1

33 :2 | 1

16 :2 | 0

8 :2 | 0

4 :2 | 0

2 :2 | 0

1 :2 | 1

Co daje 1000011. Jak widzimy, 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. Procesor nie wie, czy sygnał już

się zaczął, czy jeszcze nie. Początek musi być "1" (jest sygnał).

System szesnastkowy czyli heksadecymalny

Póki co znasz już 3 systemy liczbowe: dziesiętny, ósemkowy i dwójkowy.

Wszystkie one działają analogicznie tak samo, zmienia się tylko podstawa, czyli

ilość cyfr. Teraz zajmiemy się nieco systemem szesnastkowym inaczej zwanym

heksadecymalnym. Jest on dość szeroko stosowany w dzisiejszej informatyce,

zatem należało by go rozumieć. Jak się zapewne domyślasz, podstawą tego

systemu jest 16. Musi istnieć więc szesnaście cyfr. Pierwsze dziesięć już znasz.

Są nimi odpowiednio: 0, 1, 2, 3, 4, 5, 6, 7, 8 oraz 9. W naszym systemie, kolejną

liczbą jest 10, natomiast w systemie szesnastkowym jest ono reprezentowane

przez A. Kolejne liczby to: 11 - B, 12 - C, 13 - D, 14 - E, 15 - F. Zatem, np.

liczby w systemie dziesiętnym: 2, 6, 9, 11, 14, w systemie szesnastkowym

wyglądają odpowiednio: 2, 6, 9, B, E. Widać od razu, że duże liczby zajmują w

systemie szesnastkowym mało miejsca. Dlatego właśnie jest on tak przydatny.

Konwersja liczby szesnastkowej na dziesiętną

docsity.com

Konwersja ta odbywa się podobnie jak w przypadku liczb binarnych, z tym, że

podstawą jest nie 2 a 16. Weźmy dowolnie wymyśloną liczbę w zapisie

szesnastkowym, na przykład AB12 (co czytamy: a b jeden dwa). Bierzemy cyfrę

wysuniętą najbardziej w prawo i postępujemy tak samo jak w przypadku liczb

dwójkowych, ale zamiast mnożnika 2 mamy 16. Zatem jest to: 2*160 + 1*161 +

11*162 + 10*163 , a więc jest to 2 + 16 + 2816 + 40960, a więc jest to liczba

43794 w zapisie dziesiętnym.

Konwersja liczby dziesiętnej na szesnastkowy

No to warto by było teraz z powrotem odwrócić liczbę 43794 w zapisie

dziesiętnym na AB12 w szesnastkowym. Jeżeli wiemy jak to się robi - nie ma

problemu. Zatem zaczynajmy.

Najpierw musimy sobie napisać jakie są kolejne wielokrotności liczby 16. A

są to: 1, 16, 256, 4096, 65536 itd. Jak widać nasza liczba w systemie

dziesiętnym, czyli 43794 jest między liczbą 4096, a 65536. Bierzemy pod

uwagę liczbę mniejszą od naszej, czyli 4096. Jest ona czwartą wielokrotnością,

więc nasza liczba w systemie szesnastkowym będzie miała 4 cyfry (na razie

wszystko się zgadza). Teraz sprawdzam, ile razy liczba 4096 mieści się w naszej

liczbie konwertowanej, czyli 43794. Okazuje się, że mieści się 10 razy. 10 w

systemie szesnastkowym to A, zatem pierwsza cyfra to A. Jak widać, w dalszym

ciągu wszystko się zgadza. Teraz, skoro liczba 4096 zmieściła się dziesięć razy

w 43794, to jeszcze zapewne została jakaś reszta. Obliczamy sobie tą resztę.

Mnożymy zatem 4096*10 co daje 40960. Teraz odejmujemy wynik od naszej

liczby i obliczamy resztę. Zatem 43794 - 40960 = 2834. To jest nasza reszta.

Następnie z resztą postępujemy tak samo, jak na początku konwersji. Już na oko

widać, że w następnym kroku sprawdzamy ile razy 256 mieści się w 2834.

Mieści się 11 razy, zatem kolejna cyfra szukanego zapisu to B. Następnie

znowu: obliczamy resztę, itd. Końcowy wynik powinien wynosić AB12. Tak

oto skonwertowaliśmy liczbę z zapisu dziesiętnego na szesnastkowy.

Konwersja liczby dwójkowej na szesnastkowy

I wydawać się może, że wkraczamy w coraz to bardziej zaawansowane progi

� ale od razu mówię, że nie. Konwersja ta jest bardzo prosta i wcale nie wymaga skomplikowanych obliczeń. Najpierw zróbmy małą sztuczkę.

Zobaczcie, jaka jest maksymalna liczba w zapisie dwójkowym składająca się z 4

bitów. Jeżeli liczba ma być maksymalna, wszystkie jej cyfry muszą mieć

maksymalne wartości. Ma ona zatem postać: 1111. Po przeliczeniu, otrzymamy

15 w zapisie dziesiętnym. Jak pewnie zauważyliście, 15 jest to maksymalna

docsity.com

cyfra w zapisie szesnastkowym, czyli F. Daje to trochę do myślenia, ale

najważniejszy jest jeden fakt: każda liczba składająca się z czterech cyfr w

zapisie dwójkowym da się zapisać jako jedna cyfra w zapisie szesnastkowym.

Może to zabrzmiało groźnie, ale niedługo powinno się wytłumaczyć. Zatem,

kolejne liczby w zapisie dwójkowym i szesnastkowym to:

Zapis dwójkowy: Zapis szesnastkowy:

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 8

1001 9

1010 A

1011 B

1100 C

1101 D

1110 E

1111 F

Weźmy dla przykładu wcześniej już wspomnianą liczbę 67 w systemie

dziesiętnym. Przekształciliśmy ją na 1000011 w zapisie dwójkowym. Jak teraz z

tego otrzymać zapis szesnastkowy? Otóż bardzo prosto. Dzielimy kod binarny

na czterocyfrowe grupy od prawej strony zaczynając. Jeżeli z lewej strony nie

będzie czterech cyfr - dopisujemy z przodu zera. Zatem, otrzymamy dwie grupy.

Są to: 0100 oraz 0011. Teraz wystarczy zamienić je na odpowiednie cyfry z

zapisu szesnastkowego (można się posłużyć powyższą tabelą). W efekcie

otrzymamy: 43 w zapisie szesnastkowym. Warto by było jeszcze sprawdzić czy

wynik się zgadza konwertując zapis szesnastkowy na dziesiętny. Zatem jest to:

3*160 + 4*161, czyli 3 + 64, czyli 67 w zapisie dziesiętnym. Jak widzimy,

wszystko się zgadza.

Konwersja liczby szesnastkowej na dwójkową

A wykonuje ją się odwrotnie jak dwójkową na szesnastkową. Po prostu

kolejne cyfry w zapisie szesnastkowym zapisujesz jako cztery cyfry w zapisie

docsity.com

dwójkowym. Pamiętaj, że każda cyfra w zapisie szesnastkowym odpowiada

jako 4 cyfry w zapisie dwójkowym (nie więcej i nie mniej). Ewentualnie możesz

pozbyć się zer znajdujących się na najbardziej w lewo wysuniętej pozycji, aż

znajdziesz tam jedynkę, gdyż mówiliśmy o tym, że kod binarny zawsze zaczyna

się od 1 (np. jeśli wyjdzie 0001100101110 to możesz to zapisać jako

1100101110 pozbywając się zer z początku).

Podsumowanie

I doszliśmy wreszcie do końca tegoż artykułu. Jeżeli wszystko dokładnie

przeczytałeś i nie bardzo tego wszystkiego rozumiesz - masz dwa wyjścia. Albo

przeczytasz wszystko jeszcze raz i może coś więcej zrozumiesz, albo

ewentualnie jak już nic nie pojmujesz - wyślij mi maila z zapytaniem

interesującego cię tematu z niniejszego artykułu. Mój adres e-mail znajduje się

na końcu artykułu przy podpisie i tam właśnie odprawiam nie rozumiejących.

Ale najpierw, zanim do mnie napiszesz - kliknij tutaj i przeczytaj artykuł jeszcze

raz (z kartką, kalkulatorem i ołówkiem bo bez ćwiczeń ani rusz). Zatem żegnam

się z wami i do zobaczenia.

docsity.com

komentarze (0)
Brak komentarzy
Bądź autorem pierwszego komentarza!
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
Docsity is not optimized for the browser you're using. In order to have a better experience we suggest you to use Internet Explorer 9+, Chrome, Firefox or Safari! Download Google Chrome