{"id":313,"date":"2019-01-20T05:35:21","date_gmt":"2019-01-20T05:35:21","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/?post_type=chapter&#038;p=313"},"modified":"2019-04-08T15:48:00","modified_gmt":"2019-04-08T15:48:00","slug":"silmaring-arvususteemid","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/chapter\/silmaring-arvususteemid\/","title":{"raw":"Silmaring: Arvus\u00fcsteemid","rendered":"Silmaring: Arvus\u00fcsteemid"},"content":{"raw":"<h2>Arvud ja numbrid. K\u00fcmnends\u00fcsteem<\/h2>\r\n<p class=\"vspace\">Alustame terminitest \"arv\" ja \"number\", mida \u00fcsna sageli segi aetakse. Sellele lisab hoogu asjaolu, et inglise keeles on s\u00f5na \"arv\" vasteks just \"number\" ja juhtub, et t\u00f5lkides j\u00e4etakse ka eesti keeles s\u00f5naks \"number\". Samuti on eesti keeles mitmeid termineid, kus \"number\" on kinnistunud, aga tegelikult on pigem arvu t\u00e4henduses (nt telefoninumber, kinganumber, passinumber).<\/p>\r\n<p class=\"vspace\">Niisiis p\u00fc\u00fcdes sellest mitte liiga suurt numbrit teha, peame v\u00e4hemalt selles materjalis neil m\u00f5istetel vahet tegema.<\/p>\r\n<p class=\"vspace\">Ajalooliselt oli <strong>arv<\/strong> loendamise tulemus. Loendades saame naturaalarvud 1, 2, 3, 4, 5 jne. 0 v\u00f5etakse m\u00f5nes kontekstis naturaalarvude hulka, m\u00f5nes mitte. Eks siin olegi m\u00f5neti filosoofiline k\u00fcsimus - kas siis, kui midagi ei ole loendatud, saab \u00fcldse r\u00e4\u00e4kida loendamise tulemusest! Hiljem arvude m\u00f5istet laiendati - r\u00e4\u00e4giti t\u00e4isarvudest, ratsionaalarvudest, reaalarvudest, kompleksarvudest. Meie j\u00e4\u00e4me siin p\u00f5hiliselt t\u00e4isarvude juurde.<\/p>\r\n<p class=\"vspace\">Igatahes tekkis arvudega koos vajadus neid kirja panna. Kasutusel on olnud v\u00e4ga erinevaid s\u00fcsteeme. T\u00e4nap\u00e4eval on k\u00f5ige levinum viis panna arve kirja <strong>araabia numbrite<\/strong> abil. Algselt India p\u00e4ritolu m\u00e4rgid j\u00f5udsid Araabia kaudu Euroopasse. Seejuures 0 v\u00f5eti teistest numbritest m\u00e4rgatavalt hiljem kasutusse. Numbreid on klassikaliselt kasutusel k\u00fcmme, need on 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Numbrid on s\u00fcmbolid - m\u00e4rgid, mille abil arve kirja pannakse.<\/p>\r\n<p class=\"vspace\">Arve, mida kirja panna tuleb, on muidugi palju rohkem kui k\u00fcmme. Teoreetiliselt on neid lausa l\u00f5pmatult palju. Kui v\u00e4ikeste naturaalarvude puhul saame \u00fche numbriga arvu kirja pandud, siis edasi peab kasutama mingit s\u00fcsteemi. Nii ongi kujunenud, et lisaks numbri enda v\u00e4\u00e4rtusele loeb ka tema positsioon. N\u00e4iteks arvus 77 on esimese 7 t\u00e4hendus tegelikult 70 ja teisel 7. Sellist s\u00fcsteemi nimetatakse <strong>positsiooniliseks<\/strong> arvus\u00fcsteemiks.<\/p>\r\n<p class=\"vspace\">N\u00e4iteks arvu 2016 juppideks v\u00f5ttes saame 2016 = 2000 + 10 + 6. N\u00e4eme, et 0 on v\u00e4ga oluline ja n\u00e4itab, et sajalisi pole. Veel detailsemalt saame, et 2016 = 2 \u00b7 10<sup>3<\/sup> + 0 \u00b7 10<sup>2<\/sup> + 1 \u00b7 10<sup>1<\/sup> + 6 \u00b7 10<sup>0<\/sup>. T\u00e4hele tuleb panna, et arvu v\u00e4\u00e4rtuse leidmisel hakatakse tegelikult pihta paremalt. Paremalt esimene <strong>number<\/strong> n\u00e4itab \u00fcheliste (10<sup>0<\/sup> = 1) arvu, teine <strong>number<\/strong> k\u00fcmneliste (10<sup>1<\/sup> = 10) jne. L\u00fchematel juhtudel n\u00e4eme muidugi peale vaadates \u00e4ra, mis positsioonil paremalt viimane ehk vasakult esimene number on. Pikematel juhtudel aga tulebki paremalt lugema hakata.<\/p>\r\n\r\n<h3>Enesekontroll (1 \u00fclesanne)<\/h3>\r\n<code>[h5p id=\"50\"]<\/code>\r\n<p class=\"vspace\">Kuna on kasutada k\u00fcmme erinevat numbrit, siis nimetatakse seda s\u00fcsteemi <strong>k\u00fcmnends\u00fcsteemiks<\/strong>. See on laialt levinud, seejuures ka n\u00e4iteks m\u00f5\u00f5t\u00fchikute (sh raha\u00fchikute) juures. Siiski pole tegemist ainukese v\u00f5imaliku arvus\u00fcsteemiga. Aegade jooksul on kasutuses olnud v\u00e4ga erinevad s\u00fcsteemid. (N\u00e4iteks ka raha\u00fchikute korral - Suurbritannia naelsterling jaotub 100 penniks alles alates 1971. aastast.)<\/p>\r\n<p class=\"vspace\">Arvus\u00fcsteemid pole alati (puhtalt) positsioonilised olnud. N\u00e4iteks rooma numbrite puhul on positsioon k\u00fcll oluline, aga hoopis teistsuguse s\u00fcsteemi j\u00e4rgi. Meie j\u00e4tkame ikkagi positsiooniliste s\u00fcsteemidega.<\/p>\r\n\r\n<h2>Kahends\u00fcsteem<\/h2>\r\n<p class=\"vspace\">Vaatleme n\u00fc\u00fcd sellist s\u00fcsteemi, kus numbreid on ainult kaks: 0 ja 1. Tegemist on <strong>kahends\u00fcsteemiga<\/strong>. Arvude \u00fcles kirjutamise idee on samasugune nagu k\u00fcmnends\u00fcsteemis. Esialgu saame hakkama \u00fche numbriga. Kui loendatavaid elemente pole, siis on neid 0 ja kui on \u00fcks, siis on 1. Rohkem aga erinevaid numbreid pole. Tekib samasugune olukord nagu k\u00fcmnends\u00fcsteemis arvu 9 puhul, mille j\u00e4rel enam uusi numbreid pole. Nagu k\u00fcmnends\u00fcsteemiski, tuleb n\u00fc\u00fcd kasutusele kirjapilt 10, mis t\u00e4hendab siis tavam\u00f5ttes kahte, arvutus oleks selline: 1 \u00b7 2<sup>1<\/sup> + 0 \u00b7 2<sup>0<\/sup>.<\/p>\r\n<p class=\"vspace\">R\u00f5hutada tuleb, et tegemist on loendamise m\u00f5ttes ikka sama arvuga, lihtsalt kirjapilt on erinev. Selleks, et eristada erinevaid aluseid, m\u00e4rgitakse neid alaindeksitega, seega 10<sub>2<\/sub> = 2<sub>10<\/sub>. Pythonis aga pannakse kahendarvudele ette <em>0b<\/em>. N\u00e4iteks 0b10 on siis tavam\u00f5ttes 2.<\/p>\r\n<p class=\"vspace\">Toome tabeli m\u00f5ningate arvudega.<\/p>\r\n\r\n<table border=\"1\">\r\n<tbody>\r\n<tr>\r\n<th>K\u00fcmnendarv<\/th>\r\n<th>Kahendarv<\/th>\r\n<\/tr>\r\n<tr>\r\n<td>0<\/td>\r\n<td>0<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>1<\/td>\r\n<td>1<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>10<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>3<\/td>\r\n<td>11<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>4<\/td>\r\n<td>100<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>5<\/td>\r\n<td>101<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>6<\/td>\r\n<td>110<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>7<\/td>\r\n<td>111<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>8<\/td>\r\n<td>1000<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>9<\/td>\r\n<td>1001<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>10<\/td>\r\n<td>1010<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>11<\/td>\r\n<td>1011<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>14<\/td>\r\n<td>1110<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>15<\/td>\r\n<td>1111<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>16<\/td>\r\n<td>10000<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>31<\/td>\r\n<td>11111<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>32<\/td>\r\n<td>100000<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>63<\/td>\r\n<td>111111<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>64<\/td>\r\n<td>1000000<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"vspace\">N\u00e4eme, et erinevates s\u00fcsteemides on \"\u00fcmmargused\" hoopis erinevad arvud. Hea v\u00f5imalus juubelite t\u00e4histamiseks!<\/p>\r\n<p class=\"vspace\">Kahendarvudel on praktiline v\u00e4\u00e4rtus just arvutitega seoses. Nimelt on kahte v\u00f5imalikku seisundit palju h\u00f5lpsam realiseerida kui n\u00e4iteks k\u00fcmmet erinevat. Lamp p\u00f5leb \/ ei p\u00f5le. M\u00e4lupesas on midagi \/ ei ole.<\/p>\r\n<p class=\"vspace\">Kahendarv koosneb kahendnumbritest. Inglise keeles on kahendnumber <em>binary digit<\/em>, millest on tuletatud m\u00f5\u00f5t\u00fchiku nimeks <em>bit<\/em>. Bitt ongi informatsiooni p\u00f5hi\u00fchikuks.<\/p>\r\n<p class=\"vspace\">Kahendarvudega saab tehteid teha analoogiliselt k\u00fcmnendarvudega, aga seda me siinkohal ei vaatle. See ei takista siiski selleteemalise k\u00fcsimuse esitamist.<\/p>\r\n\r\n<h3>Enesekontroll (1 \u00fclesanne)<\/h3>\r\n<code>[h5p id=\"51\"]<\/code>\r\n\r\nNeile, kes kahends\u00fcsteemist v\u00e4ga vaimustatud on, v\u00f5ivad n\u00e4iteks huvi pakkuda kahends\u00fcsteemis (tegelikult k\u00fcll modifitseeritud viisil) aega <a class=\"urllink\" href=\"https:\/\/en.wikipedia.org\/wiki\/Binary_clock\" target=\"_blank\" rel=\"noopener\">n\u00e4itavad kellad<\/a>.\r\n<h2>Kaheksands\u00fcsteem. Kuueteistk\u00fcmnends\u00fcsteem<\/h2>\r\n<p class=\"vspace\">Kahendarvud l\u00e4hevad kiiresti pikaks ja see on \u00fcks p\u00f5hjus, miks kasutatakse kaheksandarve ja kuueteistk\u00fcmnendarve. Kuna 8 ja 16 on 2 astmed, siis on konverteerimine n\u00e4iteks kuueteistk\u00fcmnends\u00fcsteemi ja kahends\u00fcsteemi vahel oluliselt lihtsam kui k\u00fcmnends\u00fcsteemi ja kahends\u00fcsteemi vahel.<\/p>\r\n<p class=\"vspace\">Kaheksands\u00fcsteemis saab endiselt tavalisi numbreid kasutada, lihtsalt 8 ja 9 j\u00e4\u00e4vad kasutamata. Kuueteistk\u00fcmmends\u00fcsteemis enam k\u00fcmnest m\u00e4rgist ei piisa. Spetsiaalseid numbreid pole juurde m\u00f5eldud, kasutatakse t\u00e4hti A, B, C, D, E ja F.<\/p>\r\n<p class=\"vspace\">Lisame eelmisele tabelile kaheksandarvude ja kuueteistk\u00fcmnendarvude veerud.<\/p>\r\n\r\n<table border=\"1\">\r\n<tbody>\r\n<tr>\r\n<th>K\u00fcmnendarv<\/th>\r\n<th>Kahendarv<\/th>\r\n<th>Kaheksandarv<\/th>\r\n<th>Kuueteistk\u00fcmnendarv<\/th>\r\n<\/tr>\r\n<tr>\r\n<td>0<\/td>\r\n<td>0<\/td>\r\n<td>0<\/td>\r\n<td>0<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>1<\/td>\r\n<td>1<\/td>\r\n<td>1<\/td>\r\n<td>1<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>10<\/td>\r\n<td>2<\/td>\r\n<td>2<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>3<\/td>\r\n<td>11<\/td>\r\n<td>3<\/td>\r\n<td>3<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>4<\/td>\r\n<td>100<\/td>\r\n<td>4<\/td>\r\n<td>4<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>5<\/td>\r\n<td>101<\/td>\r\n<td>5<\/td>\r\n<td>5<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>6<\/td>\r\n<td>110<\/td>\r\n<td>6<\/td>\r\n<td>6<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>7<\/td>\r\n<td>111<\/td>\r\n<td>7<\/td>\r\n<td>7<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>8<\/td>\r\n<td>1000<\/td>\r\n<td>10<\/td>\r\n<td>8<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>9<\/td>\r\n<td>1001<\/td>\r\n<td>11<\/td>\r\n<td>9<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>10<\/td>\r\n<td>1010<\/td>\r\n<td>12<\/td>\r\n<td>A<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>11<\/td>\r\n<td>1011<\/td>\r\n<td>13<\/td>\r\n<td>B<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>14<\/td>\r\n<td>1110<\/td>\r\n<td>16<\/td>\r\n<td>E<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>15<\/td>\r\n<td>1111<\/td>\r\n<td>17<\/td>\r\n<td>F<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>16<\/td>\r\n<td>10000<\/td>\r\n<td>20<\/td>\r\n<td>10<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>31<\/td>\r\n<td>11111<\/td>\r\n<td>37<\/td>\r\n<td>1F<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>32<\/td>\r\n<td>100000<\/td>\r\n<td>40<\/td>\r\n<td>20<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>63<\/td>\r\n<td>111111<\/td>\r\n<td>77<\/td>\r\n<td>3F<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>64<\/td>\r\n<td>1000000<\/td>\r\n<td>100<\/td>\r\n<td>40<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"vspace\">Kuidas m\u00f5ista kaheksandarvu 137? N\u00fc\u00fcd on aluseks 8, mis t\u00e4hendab, et<\/p>\r\n<p class=\"vspace\">137<sub>8<\/sub> = 1 \u00b7 8<sup>2<\/sup> + 3 \u00b7 8<sup>1<\/sup> + 7 \u00b7 8<sup>0<\/sup> = 64 + 24 + 7 = 95<\/p>\r\n<p class=\"vspace\">Vaatleme ka kahte kuueteistk\u00fcmnendarvu. Neis v\u00f5ivad numbritena olla t\u00e4hed t\u00e4hestiku algusest, aga ei pruugi olla. N\u00e4iteks arvestades, et A on k\u00fcmnends\u00fcsteemi 10 ja D on 13, saame<\/p>\r\n<p class=\"vspace\">A2D<sub>16<\/sub> = 10 \u00b7 16<sup>2<\/sup> + 2 \u00b7 16<sup>1<\/sup> + 13 \u00b7 16<sup>0<\/sup> = 2560 + 32 + 13 = 2605<\/p>\r\n<p class=\"vspace\">ja<\/p>\r\n<p class=\"vspace\">1010<sub>16<\/sub> = 1 \u00b7 16<sup>3<\/sup> + 0 \u00b7 16<sup>2<\/sup> + 1 \u00b7 16<sup>1<\/sup> + 0 \u00b7 16<sup>0<\/sup> = 4096 + 16 = 4112.<\/p>\r\n<p class=\"vspace\">Pythonis on kaheksands\u00fcsteemis arvu m\u00e4rkimiseks kasutusel prefiks (eesliide) <em>0o<\/em> ja kuueteistk\u00fcmnendarvude jaoks <em>0x<\/em>.<\/p>\r\n<p class=\"vspace\">Kuueteistk\u00fcmnendarve kasutatakse sageli n\u00e4iteks m\u00e4luaadressides ja ka v\u00e4rvide m\u00e4rkimiseks. Erinevate v\u00e4rvide kuueteistk\u00fcmnendkoode saab vaadata <a class=\"urllink\" href=\"http:\/\/www.w3schools.com\/colors\/colors_picker.asp\" target=\"_blank\" rel=\"noopener\">siit<\/a>. Neid saame ka kilpkonnagraafikas kasutada. N\u00e4iteks <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">turtle.pencolor('#85e085')<\/code> m\u00f5jul muutub kilpkonna joon heleroheliseks.<\/p>\r\n<p class=\"vspace\">Kaheksands\u00fcsteemi arve kasutatakse n\u00e4iteks m\u00f5nedes operatsioonis\u00fcsteemides failidele juurdep\u00e4\u00e4su \u00f5iguste m\u00e4\u00e4ramiseks. N\u00e4iteks Unixis annab k\u00e4sk <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">chmod 664 mingifail.txt<\/code> kasutajale ja r\u00fchmale \u00f5iguse lugeda ja kirjutada, aga mitte k\u00e4ivitada. Teised saavad ainult \u00f5iguse lugeda.<\/p>\r\n\r\n<h3>Enesekontroll (1 k\u00fcsimus)<\/h3>\r\n<code>[h5p id=\"52\"]<\/code>\r\n<h2>Veel lugemist<\/h2>\r\n<p class=\"vspace\">Ise saate arve erinevate alustega s\u00fcsteemidesse konverteerida n\u00e4iteks <a class=\"urllink\" href=\"http:\/\/codebeautify.org\/all-number-converter\" target=\"_blank\" rel=\"noopener\">siin<\/a> v\u00f5i <a class=\"urllink\" href=\"http:\/\/www.convertworld.com\/et\/arvususteemid\/\" target=\"_blank\" rel=\"noopener\">siin<\/a>.<\/p>\r\n<p class=\"vspace\">Arvus\u00fcsteemidest (ja paljust muust) on juttu \"Matemaatika \u00f5htu\u00f5pikus\", mille saab ka <a class=\"urllink\" href=\"http:\/\/6htu6pik.ut.ee\/\" target=\"_blank\" rel=\"noopener\">alla laadida<\/a>.<\/p>","rendered":"<h2>Arvud ja numbrid. K\u00fcmnends\u00fcsteem<\/h2>\n<p class=\"vspace\">Alustame terminitest &#8220;arv&#8221; ja &#8220;number&#8221;, mida \u00fcsna sageli segi aetakse. Sellele lisab hoogu asjaolu, et inglise keeles on s\u00f5na &#8220;arv&#8221; vasteks just &#8220;number&#8221; ja juhtub, et t\u00f5lkides j\u00e4etakse ka eesti keeles s\u00f5naks &#8220;number&#8221;. Samuti on eesti keeles mitmeid termineid, kus &#8220;number&#8221; on kinnistunud, aga tegelikult on pigem arvu t\u00e4henduses (nt telefoninumber, kinganumber, passinumber).<\/p>\n<p class=\"vspace\">Niisiis p\u00fc\u00fcdes sellest mitte liiga suurt numbrit teha, peame v\u00e4hemalt selles materjalis neil m\u00f5istetel vahet tegema.<\/p>\n<p class=\"vspace\">Ajalooliselt oli <strong>arv<\/strong> loendamise tulemus. Loendades saame naturaalarvud 1, 2, 3, 4, 5 jne. 0 v\u00f5etakse m\u00f5nes kontekstis naturaalarvude hulka, m\u00f5nes mitte. Eks siin olegi m\u00f5neti filosoofiline k\u00fcsimus &#8211; kas siis, kui midagi ei ole loendatud, saab \u00fcldse r\u00e4\u00e4kida loendamise tulemusest! Hiljem arvude m\u00f5istet laiendati &#8211; r\u00e4\u00e4giti t\u00e4isarvudest, ratsionaalarvudest, reaalarvudest, kompleksarvudest. Meie j\u00e4\u00e4me siin p\u00f5hiliselt t\u00e4isarvude juurde.<\/p>\n<p class=\"vspace\">Igatahes tekkis arvudega koos vajadus neid kirja panna. Kasutusel on olnud v\u00e4ga erinevaid s\u00fcsteeme. T\u00e4nap\u00e4eval on k\u00f5ige levinum viis panna arve kirja <strong>araabia numbrite<\/strong> abil. Algselt India p\u00e4ritolu m\u00e4rgid j\u00f5udsid Araabia kaudu Euroopasse. Seejuures 0 v\u00f5eti teistest numbritest m\u00e4rgatavalt hiljem kasutusse. Numbreid on klassikaliselt kasutusel k\u00fcmme, need on 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Numbrid on s\u00fcmbolid &#8211; m\u00e4rgid, mille abil arve kirja pannakse.<\/p>\n<p class=\"vspace\">Arve, mida kirja panna tuleb, on muidugi palju rohkem kui k\u00fcmme. Teoreetiliselt on neid lausa l\u00f5pmatult palju. Kui v\u00e4ikeste naturaalarvude puhul saame \u00fche numbriga arvu kirja pandud, siis edasi peab kasutama mingit s\u00fcsteemi. Nii ongi kujunenud, et lisaks numbri enda v\u00e4\u00e4rtusele loeb ka tema positsioon. N\u00e4iteks arvus 77 on esimese 7 t\u00e4hendus tegelikult 70 ja teisel 7. Sellist s\u00fcsteemi nimetatakse <strong>positsiooniliseks<\/strong> arvus\u00fcsteemiks.<\/p>\n<p class=\"vspace\">N\u00e4iteks arvu 2016 juppideks v\u00f5ttes saame 2016 = 2000 + 10 + 6. N\u00e4eme, et 0 on v\u00e4ga oluline ja n\u00e4itab, et sajalisi pole. Veel detailsemalt saame, et 2016 = 2 \u00b7 10<sup>3<\/sup> + 0 \u00b7 10<sup>2<\/sup> + 1 \u00b7 10<sup>1<\/sup> + 6 \u00b7 10<sup>0<\/sup>. T\u00e4hele tuleb panna, et arvu v\u00e4\u00e4rtuse leidmisel hakatakse tegelikult pihta paremalt. Paremalt esimene <strong>number<\/strong> n\u00e4itab \u00fcheliste (10<sup>0<\/sup> = 1) arvu, teine <strong>number<\/strong> k\u00fcmneliste (10<sup>1<\/sup> = 10) jne. L\u00fchematel juhtudel n\u00e4eme muidugi peale vaadates \u00e4ra, mis positsioonil paremalt viimane ehk vasakult esimene number on. Pikematel juhtudel aga tulebki paremalt lugema hakata.<\/p>\n<h3>Enesekontroll (1 \u00fclesanne)<\/h3>\n<p><code><\/p>\n<div id=\"h5p-50\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-50\" class=\"h5p-iframe\" data-content-id=\"50\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Tingimuslause-7-viied\"><\/iframe><\/div>\n<\/div>\n<p><\/code><\/p>\n<p class=\"vspace\">Kuna on kasutada k\u00fcmme erinevat numbrit, siis nimetatakse seda s\u00fcsteemi <strong>k\u00fcmnends\u00fcsteemiks<\/strong>. See on laialt levinud, seejuures ka n\u00e4iteks m\u00f5\u00f5t\u00fchikute (sh raha\u00fchikute) juures. Siiski pole tegemist ainukese v\u00f5imaliku arvus\u00fcsteemiga. Aegade jooksul on kasutuses olnud v\u00e4ga erinevad s\u00fcsteemid. (N\u00e4iteks ka raha\u00fchikute korral &#8211; Suurbritannia naelsterling jaotub 100 penniks alles alates 1971. aastast.)<\/p>\n<p class=\"vspace\">Arvus\u00fcsteemid pole alati (puhtalt) positsioonilised olnud. N\u00e4iteks rooma numbrite puhul on positsioon k\u00fcll oluline, aga hoopis teistsuguse s\u00fcsteemi j\u00e4rgi. Meie j\u00e4tkame ikkagi positsiooniliste s\u00fcsteemidega.<\/p>\n<h2>Kahends\u00fcsteem<\/h2>\n<p class=\"vspace\">Vaatleme n\u00fc\u00fcd sellist s\u00fcsteemi, kus numbreid on ainult kaks: 0 ja 1. Tegemist on <strong>kahends\u00fcsteemiga<\/strong>. Arvude \u00fcles kirjutamise idee on samasugune nagu k\u00fcmnends\u00fcsteemis. Esialgu saame hakkama \u00fche numbriga. Kui loendatavaid elemente pole, siis on neid 0 ja kui on \u00fcks, siis on 1. Rohkem aga erinevaid numbreid pole. Tekib samasugune olukord nagu k\u00fcmnends\u00fcsteemis arvu 9 puhul, mille j\u00e4rel enam uusi numbreid pole. Nagu k\u00fcmnends\u00fcsteemiski, tuleb n\u00fc\u00fcd kasutusele kirjapilt 10, mis t\u00e4hendab siis tavam\u00f5ttes kahte, arvutus oleks selline: 1 \u00b7 2<sup>1<\/sup> + 0 \u00b7 2<sup>0<\/sup>.<\/p>\n<p class=\"vspace\">R\u00f5hutada tuleb, et tegemist on loendamise m\u00f5ttes ikka sama arvuga, lihtsalt kirjapilt on erinev. Selleks, et eristada erinevaid aluseid, m\u00e4rgitakse neid alaindeksitega, seega 10<sub>2<\/sub> = 2<sub>10<\/sub>. Pythonis aga pannakse kahendarvudele ette <em>0b<\/em>. N\u00e4iteks 0b10 on siis tavam\u00f5ttes 2.<\/p>\n<p class=\"vspace\">Toome tabeli m\u00f5ningate arvudega.<\/p>\n<table>\n<tbody>\n<tr>\n<th>K\u00fcmnendarv<\/th>\n<th>Kahendarv<\/th>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>10<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>11<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>100<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>101<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>110<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>111<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>1000<\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>1001<\/td>\n<\/tr>\n<tr>\n<td>10<\/td>\n<td>1010<\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>1011<\/td>\n<\/tr>\n<tr>\n<td>14<\/td>\n<td>1110<\/td>\n<\/tr>\n<tr>\n<td>15<\/td>\n<td>1111<\/td>\n<\/tr>\n<tr>\n<td>16<\/td>\n<td>10000<\/td>\n<\/tr>\n<tr>\n<td>31<\/td>\n<td>11111<\/td>\n<\/tr>\n<tr>\n<td>32<\/td>\n<td>100000<\/td>\n<\/tr>\n<tr>\n<td>63<\/td>\n<td>111111<\/td>\n<\/tr>\n<tr>\n<td>64<\/td>\n<td>1000000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"vspace\">N\u00e4eme, et erinevates s\u00fcsteemides on &#8220;\u00fcmmargused&#8221; hoopis erinevad arvud. Hea v\u00f5imalus juubelite t\u00e4histamiseks!<\/p>\n<p class=\"vspace\">Kahendarvudel on praktiline v\u00e4\u00e4rtus just arvutitega seoses. Nimelt on kahte v\u00f5imalikku seisundit palju h\u00f5lpsam realiseerida kui n\u00e4iteks k\u00fcmmet erinevat. Lamp p\u00f5leb \/ ei p\u00f5le. M\u00e4lupesas on midagi \/ ei ole.<\/p>\n<p class=\"vspace\">Kahendarv koosneb kahendnumbritest. Inglise keeles on kahendnumber <em>binary digit<\/em>, millest on tuletatud m\u00f5\u00f5t\u00fchiku nimeks <em>bit<\/em>. Bitt ongi informatsiooni p\u00f5hi\u00fchikuks.<\/p>\n<p class=\"vspace\">Kahendarvudega saab tehteid teha analoogiliselt k\u00fcmnendarvudega, aga seda me siinkohal ei vaatle. See ei takista siiski selleteemalise k\u00fcsimuse esitamist.<\/p>\n<h3>Enesekontroll (1 \u00fclesanne)<\/h3>\n<p><code><\/p>\n<div id=\"h5p-51\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-51\" class=\"h5p-iframe\" data-content-id=\"51\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Tingimuslause-7-kahends\u00fcsteem\"><\/iframe><\/div>\n<\/div>\n<p><\/code><\/p>\n<p>Neile, kes kahends\u00fcsteemist v\u00e4ga vaimustatud on, v\u00f5ivad n\u00e4iteks huvi pakkuda kahends\u00fcsteemis (tegelikult k\u00fcll modifitseeritud viisil) aega <a class=\"urllink\" href=\"https:\/\/en.wikipedia.org\/wiki\/Binary_clock\" target=\"_blank\" rel=\"noopener\">n\u00e4itavad kellad<\/a>.<\/p>\n<h2>Kaheksands\u00fcsteem. Kuueteistk\u00fcmnends\u00fcsteem<\/h2>\n<p class=\"vspace\">Kahendarvud l\u00e4hevad kiiresti pikaks ja see on \u00fcks p\u00f5hjus, miks kasutatakse kaheksandarve ja kuueteistk\u00fcmnendarve. Kuna 8 ja 16 on 2 astmed, siis on konverteerimine n\u00e4iteks kuueteistk\u00fcmnends\u00fcsteemi ja kahends\u00fcsteemi vahel oluliselt lihtsam kui k\u00fcmnends\u00fcsteemi ja kahends\u00fcsteemi vahel.<\/p>\n<p class=\"vspace\">Kaheksands\u00fcsteemis saab endiselt tavalisi numbreid kasutada, lihtsalt 8 ja 9 j\u00e4\u00e4vad kasutamata. Kuueteistk\u00fcmmends\u00fcsteemis enam k\u00fcmnest m\u00e4rgist ei piisa. Spetsiaalseid numbreid pole juurde m\u00f5eldud, kasutatakse t\u00e4hti A, B, C, D, E ja F.<\/p>\n<p class=\"vspace\">Lisame eelmisele tabelile kaheksandarvude ja kuueteistk\u00fcmnendarvude veerud.<\/p>\n<table>\n<tbody>\n<tr>\n<th>K\u00fcmnendarv<\/th>\n<th>Kahendarv<\/th>\n<th>Kaheksandarv<\/th>\n<th>Kuueteistk\u00fcmnendarv<\/th>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>10<\/td>\n<td>2<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>11<\/td>\n<td>3<\/td>\n<td>3<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>100<\/td>\n<td>4<\/td>\n<td>4<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>101<\/td>\n<td>5<\/td>\n<td>5<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>110<\/td>\n<td>6<\/td>\n<td>6<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>111<\/td>\n<td>7<\/td>\n<td>7<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>1000<\/td>\n<td>10<\/td>\n<td>8<\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>1001<\/td>\n<td>11<\/td>\n<td>9<\/td>\n<\/tr>\n<tr>\n<td>10<\/td>\n<td>1010<\/td>\n<td>12<\/td>\n<td>A<\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>1011<\/td>\n<td>13<\/td>\n<td>B<\/td>\n<\/tr>\n<tr>\n<td>14<\/td>\n<td>1110<\/td>\n<td>16<\/td>\n<td>E<\/td>\n<\/tr>\n<tr>\n<td>15<\/td>\n<td>1111<\/td>\n<td>17<\/td>\n<td>F<\/td>\n<\/tr>\n<tr>\n<td>16<\/td>\n<td>10000<\/td>\n<td>20<\/td>\n<td>10<\/td>\n<\/tr>\n<tr>\n<td>31<\/td>\n<td>11111<\/td>\n<td>37<\/td>\n<td>1F<\/td>\n<\/tr>\n<tr>\n<td>32<\/td>\n<td>100000<\/td>\n<td>40<\/td>\n<td>20<\/td>\n<\/tr>\n<tr>\n<td>63<\/td>\n<td>111111<\/td>\n<td>77<\/td>\n<td>3F<\/td>\n<\/tr>\n<tr>\n<td>64<\/td>\n<td>1000000<\/td>\n<td>100<\/td>\n<td>40<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"vspace\">Kuidas m\u00f5ista kaheksandarvu 137? N\u00fc\u00fcd on aluseks 8, mis t\u00e4hendab, et<\/p>\n<p class=\"vspace\">137<sub>8<\/sub> = 1 \u00b7 8<sup>2<\/sup> + 3 \u00b7 8<sup>1<\/sup> + 7 \u00b7 8<sup>0<\/sup> = 64 + 24 + 7 = 95<\/p>\n<p class=\"vspace\">Vaatleme ka kahte kuueteistk\u00fcmnendarvu. Neis v\u00f5ivad numbritena olla t\u00e4hed t\u00e4hestiku algusest, aga ei pruugi olla. N\u00e4iteks arvestades, et A on k\u00fcmnends\u00fcsteemi 10 ja D on 13, saame<\/p>\n<p class=\"vspace\">A2D<sub>16<\/sub> = 10 \u00b7 16<sup>2<\/sup> + 2 \u00b7 16<sup>1<\/sup> + 13 \u00b7 16<sup>0<\/sup> = 2560 + 32 + 13 = 2605<\/p>\n<p class=\"vspace\">ja<\/p>\n<p class=\"vspace\">1010<sub>16<\/sub> = 1 \u00b7 16<sup>3<\/sup> + 0 \u00b7 16<sup>2<\/sup> + 1 \u00b7 16<sup>1<\/sup> + 0 \u00b7 16<sup>0<\/sup> = 4096 + 16 = 4112.<\/p>\n<p class=\"vspace\">Pythonis on kaheksands\u00fcsteemis arvu m\u00e4rkimiseks kasutusel prefiks (eesliide) <em>0o<\/em> ja kuueteistk\u00fcmnendarvude jaoks <em>0x<\/em>.<\/p>\n<p class=\"vspace\">Kuueteistk\u00fcmnendarve kasutatakse sageli n\u00e4iteks m\u00e4luaadressides ja ka v\u00e4rvide m\u00e4rkimiseks. Erinevate v\u00e4rvide kuueteistk\u00fcmnendkoode saab vaadata <a class=\"urllink\" href=\"http:\/\/www.w3schools.com\/colors\/colors_picker.asp\" target=\"_blank\" rel=\"noopener\">siit<\/a>. Neid saame ka kilpkonnagraafikas kasutada. N\u00e4iteks <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">turtle.pencolor('#85e085')<\/code> m\u00f5jul muutub kilpkonna joon heleroheliseks.<\/p>\n<p class=\"vspace\">Kaheksands\u00fcsteemi arve kasutatakse n\u00e4iteks m\u00f5nedes operatsioonis\u00fcsteemides failidele juurdep\u00e4\u00e4su \u00f5iguste m\u00e4\u00e4ramiseks. N\u00e4iteks Unixis annab k\u00e4sk <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">chmod 664 mingifail.txt<\/code> kasutajale ja r\u00fchmale \u00f5iguse lugeda ja kirjutada, aga mitte k\u00e4ivitada. Teised saavad ainult \u00f5iguse lugeda.<\/p>\n<h3>Enesekontroll (1 k\u00fcsimus)<\/h3>\n<p><code><\/p>\n<div id=\"h5p-52\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-52\" class=\"h5p-iframe\" data-content-id=\"52\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Tingimuslause-7-kuueteistk\u00fcmnends\u00fcsteem\"><\/iframe><\/div>\n<\/div>\n<p><\/code><\/p>\n<h2>Veel lugemist<\/h2>\n<p class=\"vspace\">Ise saate arve erinevate alustega s\u00fcsteemidesse konverteerida n\u00e4iteks <a class=\"urllink\" href=\"http:\/\/codebeautify.org\/all-number-converter\" target=\"_blank\" rel=\"noopener\">siin<\/a> v\u00f5i <a class=\"urllink\" href=\"http:\/\/www.convertworld.com\/et\/arvususteemid\/\" target=\"_blank\" rel=\"noopener\">siin<\/a>.<\/p>\n<p class=\"vspace\">Arvus\u00fcsteemidest (ja paljust muust) on juttu &#8220;Matemaatika \u00f5htu\u00f5pikus&#8221;, mille saab ka <a class=\"urllink\" href=\"http:\/\/6htu6pik.ut.ee\/\" target=\"_blank\" rel=\"noopener\">alla laadida<\/a>.<\/p>\n","protected":false},"author":12,"menu_order":11,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-313","chapter","type-chapter","status-publish","hentry"],"part":247,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/users\/12"}],"version-history":[{"count":5,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/313\/revisions"}],"predecessor-version":[{"id":409,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/313\/revisions\/409"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/parts\/247"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/313\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/media?parent=313"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapter-type?post=313"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/contributor?post=313"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/license?post=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}