Systemy liczbowe.
Dla nas, ludzi naturalnym sposobem prezentacji liczb jest system dziesi.tny. Oznacza to, .e wyro.niamy dziesi.. cyfr. 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... Sprobujcie 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.. palcow. 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..? Oto., 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., ktora 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 mowi.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 rowny 1, potem 10, a na ko.cu 100. Znaczy to, .e ka.dy nast.pny jest pomno.ony przez 10. Mo.na, wi.c 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. Zwro.my uwag. teraz na rzecz, ktora 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., ktora 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. Je.eli 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. System osemkowy Skoro powsta. system dziesi.tny, mo.na wymy.la. dowolne systemy liczenia (na przyk.ad czworkowy itd.). W.a.nie jednym z takich systemow jest system osemkowy. 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. ro.nice. Liczba zero (0) tak samo wygl.da w obu systemach. Tak samo ma si. sytuacja z jedynk. (1), dwojk. (2), trojk. (3) itd. Sytuacja staje si. skomplikowana, gdy dojedziemy do siodemki (7). Liczba 7 wygl.da tak samo w obu systemach. Jednak nadchodzi nast.pna liczba, zwana przez nas jako osiem. System osemkowy nie zna takiej cyfry, wi.c powstaje nast.pna pozycja. Zatem liczba osiem (8) w systemie dziesi.tnym to liczba dziesi.. (10) w systemie osemkowym. 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 osemkowym b.d. wygl.da. odpowiednio: 6, 7, 10, 11, 12. Gdyby.my chcieli sprawdzi., czy rzeczywi.cie liczba na przyk.ad 14 w systemie osemkowym 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. osemkowy) w nast.puj.cy sposob. 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 osemkowym podstaw. jest liczba 8, a kolejne pozycje wygl.daj. nast.puj.co: 1, 8, 64, 512, 4096, 32768 itd. System dwojkowy czyli binarny Powiedzieli.my sobie, .e mo.na wymy.la. dowolny system zapisu liczb. Skoro tak, to, czemu mia.by nie powsta. system dwojkowy, sk.adaj.cy si. tylko z dwoch 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 dwojkowy, zwany rownie. binarnym. Pierwsza liczba w naszym systemie to 0 (zero). W systemie dwojkowym, liczba ta rownie. jest rowna 0, gdy. istnieje tam taka cyfra. Kolejna liczba to 1 (jeden). W systemie dwojkowym, rownie. 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 dwojkowym. 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 dwojkowym 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 sposob 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.ow. Podstaw. elektroniki jest pr.d elektryczny, ktory 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 ro.ne warto.ci zer i jedynek. Procesor konwertuje je na liczby i w ten sposob powstaj. czytelne dla nas obrazy, teksty, d.wi.k itd. Mam nadziej., .e w ten "ch.opski" sposob wyja.ni.em wam mniej wi.cej jak to si. odbywa. Nie tylko w postaci sygna.ow elektrycznych reprezentowane mog. by. zera lub jedynki. Rownie. na wszelkich no.nikach, np. p.yta CD, na ktorej nagrywarka wypala malutkie wg..bienia. W.a.nie te wg..bienia s. jedynkami, a "rowniny" zerami (albo i odwrotnie). Zatem podsumujmy: komputer zna tylko zera i jedynki. Bity przyjmuj. tylko jedn. z tych dwoch warto.ci. Osiem bitow to jeden bajt. Ustawienie o.miu bitow decyduje o numerze, ktory mo.e przyj.. maksymalnie 256. Numer decyduje o znaku, jaki komputer ma wykorzysta.. Konwersja liczby dwojkowej (binarnej) na dziesi.tn. Skoro ju. wiesz, po co nam system binarny, dowiesz si. jak przelicza. go na nasz system dziesi.tny. Oto. nie jest to zbyt skomplikowane. Przypomnijcie sobie sposob z liczbami w systemie osemkowym. 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 dwojkowym, np. 1000011. Jak ju. wcze.niej mowili.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. rowna: 1 + 2 + 0 + 0 + 0 + 0 + 64, czyli jest to 67 w systemie dziesi.tnym. Moje gratulacj. - uda.o si. skonwertowa. liczb. w zapisie dwojkowym na zapis dziesi.tny. Konwersja liczby dziesi.tnej na dwojkow. (binarn.) Teraz, skoro ju. umiesz konwertowa. liczby z zapisu dwojkowego na dziesi.tny warto by by.o skonwertowa. je odwrotnie, to znaczy z zapisu dziesi.tnego na dwojkowy. Gdyby.my liczyli na piechot., by.my musieli sprawdza. kolejne wielokrotno.ci liczby 2. Sposob ten raczej jest ma.o stosowany, zajmijmy si. troch. lepszym. Jest to prosty sposob, wcale nie wymaga my.lenia. Najpierw bierzemy liczb., jak. chcemy skonwertowa. na zapis dwojkowy. We.my liczb. z poprzedniego rozdzia.u i sprawd.my, czy nam si. to zgadza. Zatem, liczba ktor. b.dziemy konwertowa. to 67. Sposob 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 konkretnym przyk.adzie. Zatem do dzie.a: Co daje 1000011. Jak widzimy, wynik zgadza si.. Wida. rownie., .e zawsze na samym ko.cu po podzieleniu b.dzie 0, zatem ostatnia liczba jest rowna 1. Jeden podzieli. na dwa zawsze wyjdzie 0,5 zatem wynik z reszt.. Co za tym idzie - pierwsza cyfra w zapisie dwojkowym jest ZAWSZE ROWNA 1. Nie tylko matematycznie mo.na to udowodni.. W elektronice, rownie. 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 Poki co znasz ju. 3 systemy liczbowe: dziesi.tny, osemkowy i dwojkowy. 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. 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 dwojkowych, 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 odwroci. 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 dwojkowej na szesnastkowy I wydawa. si. mo.e, .e wkraczamy w coraz to bardziej zaawansowane progi ale od razu mowi., .e nie. Konwersja ta jest bardzo prosta i wcale nie wymaga skomplikowanych oblicze.. Najpierw zrobmy ma.. sztuczk.. Zobaczcie, jaka jest maksymalna liczba w zapisie dwojkowym sk.adaj.ca si. z 4 bitow. 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 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 dwojkowym 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 dwojkowym i szesnastkowym to: We.my dla przyk.adu wcze.niej ju. wspomnian. liczb. 67 w systemie dziesi.tnym. Przekszta.cili.my j. na 1000011 w zapisie dwojkowym. Jak teraz z tego otrzyma. zapis szesnastkowy? Oto. 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 dwojkow. A wykonuje j. si. odwrotnie jak dwojkow. na szesnastkow.. Po prostu kolejne cyfry w zapisie szesnastkowym zapisujesz jako cztery cyfry w zapisie dwojkowym. Pami.taj, .e ka.da cyfra w zapisie szesnastkowym odpowiada jako 4 cyfry w zapisie dwojkowym (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. mowili.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).