Mis on positsiooniline süsteem
Kümnendarvus 4 095 ei väärt 4 mitte 4, vaid 4 000, sest see asub tuhandete kohal. Iga positsioon korrutab numbri 10 astmega (1, 10, 100, 1 000…). See ongi positsiooniline süsteem ja alus on kasutatavate erinevate numbrite arv: kümnendsüsteemis kümme.
Kahendsüsteem toimib samamoodi, aga alusega 2: olemas on ainult 0 ja 1 ning iga koht väärib kaks korda rohkem kui eelmine. Kuueteistkümnendsüsteem kasutab alust 16: kuusteist numbrit on 0 kuni 9 ja tähed A kuni F ning iga koht väärib 16 korda rohkem kui eelmine. Arvutid töötavad kahendsüsteemis, sest vooluring peab eristama ainult kahte olekut (väljas ja sees), ning kuueteistkümnendsüsteem on lühike viis nende bittide kirjutamiseks.
| Positsioon (paremalt vasakule) | Väärtus kahendsüsteemis | Väärtus kuueteistkümnendsüsteemis |
|---|---|---|
| 1. | 1 | 1 |
| 2. | 2 | 16 |
| 3. | 4 | 256 |
| 4. | 8 | 4 096 |
| 5. | 16 | 65 536 |
| 6. | 32 | 1 048 576 |
| 7. | 64 | 16 777 216 |
| 8. | 128 | 268 435 456 |
Kahendsüsteemist kümnendsüsteemi, käsitsi
Kirjuta iga number üles koos selle koha väärtusega ja liida ainult need kohad, kus on 1. Näide arvuga 1101: paremalt vasakule väärivad kohad 1, 2, 4 ja 8.
- Kirjuta arv üles ja selle alla iga positsiooni väärtus: 1 1 0 1 üle 8 4 2 1.
- Vaata, mis on igal kohal: 1 kohal 8, 1 kohal 4, 0 kohal 2 ja 1 kohal 1.
- Ignoreeri kohti, kus on 0 (siin koht 2).
- Liida: 8 + 4 + 0 + 1 = 13. Seega 1101 kahendsüsteemis on 13 kümnendsüsteemis.
Rohkemate numbritega on see sama: 11111111 on 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, suurim väärtus, mis mahub 8 bitti. Ja 10110110 on 128 + 32 + 16 + 4 + 2 = 182.
Kümnendsüsteemist kahendsüsteemi, järjestikuste jagamistega
Arvu jagatakse 2-ga ikka ja jälle, märkides üles iga jagamise jäägi (alati 0 või 1), kuni jõuad jagatiseni 0. Jäägid, loetuna alt üles, on kahendarv. Näide arvuga 45:
- 45 ÷ 2 = 22, jääk 1
- 22 ÷ 2 = 11, jääk 0
- 11 ÷ 2 = 5, jääk 1
- 5 ÷ 2 = 2, jääk 1
- 2 ÷ 2 = 1, jääk 0
- 1 ÷ 2 = 0, jääk 1
Jääke alt üles lugedes saad 101101. Kontrolliks liida: 32 + 8 + 4 + 1 = 45.
On ka alternatiivne meetod, mida paljud eelistavad: kahe astmete lahutamine suuremast väiksemani. Arvu 200 jaoks: 128 mahub (jääb 72), 64 mahub (jääb 8), 32 ja 16 ei mahu, aga 8 mahub (jääb 0). Kasutatud kohad on 128, 64 ja 8, seega 200 = 11001000.
Kuueteistkümnendsüsteem: kuusteist numbrit ja tabel käepärast hoidmiseks
Kuna numbreid 10 kuni 15 ei ole, kasutatakse tähti A, B, C, D, E ja F. Üks kuueteistkümnendnumber võrdub täpselt nelja bitiga (üks „nibble“) ja seepärast on see nii mugav: bait, mis on 8 bitti, kirjutatakse vaid kahe kuueteistkümnendnumbriga.
Kuueteistkümnendsüsteemist kümnendsüsteemi teisendamiseks korruta iga number oma koha 16 astmega ja liida. Näiteks 3F = 3 × 16 + 15 = 63 ja A3 = 10 × 16 + 3 = 163.
| Kümnendsüsteem | Kahendsüsteem (4 bitti) | Kaheksandsüsteem | Kuueteistkümnendsüsteem |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
Miks kasutatakse kuueteistkümnendsüsteemi: baidid, värvid ja aadressid
Bait on 8 bitti ja ulatub 0-st 255-ni (00000000 kuni 11111111). Bittide käsitsi kirjutamine on aeglane ja veaaldis; kuueteistkümnendsüsteemis on sama bait kaks märki, 00 kuni FF. Kahendsüsteemist kuueteistkümnendsüsteemi teisendamiseks jaga bitid paremalt neljaseks rühmaks ja asenda iga rühm tabelist pärit numbriga. Näide: 11010111 jaguneb rühmadeks 1101 ja 0111, mis on D ja 7, seega väärtus on D7. Kümnendsüsteemis on see 13 × 16 + 7 = 215.
Tuntuim juhtum on veebivärvid. Koodis #FF8800 on kolm baiti: FF punase jaoks (255), 88 rohelise jaoks (136) ja 00 sinise jaoks (0). See on intensiivne oranž: kogu punane, veidi üle poole rohelisest ja üldse mitte sinist. Kuueteistkümnendsüsteem esineb ka mäluaadressides, veakoodides ja võrgutunnustes.
Tekstist kahendkoodiks ASCII abil
Arvuti salvestab iga tähe arvuna ja selle arvu bittidena. ASCII tabelis on A 65, mis 8-bitises kahendkoodis on 01000001. Sõna „Hi“ on kaks tähte: H on 72 (01001000) ja i on 105 (01101001), seega kirjutatakse see 01001000 01101001. Sõnaga „Hola“ on need 72, 111, 108 ja 97, ehk 01001000 01101111 01101100 01100001, või kuueteistkümnendsüsteemis 48 6F 6C 61.
Tööriist kasutab UTF-8 kodeeringut: inglise põhitähtede puhul võtab iga märk ühe 8-bitise baidi, aga õ, ä, ü, ö, š või emoji võtab mitu baiti ja annab seega rohkem kui 8 bitti. Näiteks ä on kaks baiti: 11000011 10100100 (C3 A4 kuueteistkümnendsüsteemis).
Kuidas seda kõike tööriistaga teha
Teisendaja „Kahend-, kümnend- ja 16-ndsüsteem“ sobib sinu käsitsi arvutuste kontrollimiseks või pikkade arvude vigadeta lahendamiseks.
- Kirjuta arv oma aluse väljale: „Kümnendsüsteem (alus 10)“, „Kahendsüsteem (alus 2)“, kaheksandsüsteem või „Kuueteistkümnendsüsteem (alus 16)“. Ülejäänud kolm täituvad ise.
- Kui number ei sobi alusele (näiteks 2 kahendsüsteemis), annab tööriist sellest märku.
- Teksti puhul kirjuta see väljale „Tekst“ ja vaata „Kahendkood (8 bitti märgi kohta)“ ning baitide kaupa kuueteistkümnendkoodi. Võid ka kleepida 8-bitiseid bitirühmi, et naasta teksti juurde.
- Haruldaste aluste jaoks kasuta „Mis tahes alus (2 kuni 36)“: valid lähtealuse, sihtalusele ja arvu.
Piirangud: teisendab ainult mittenegatiivseid täisarve (ilma komakohtade ja märgita) ega lisa sinu eest ette nulle, seega kui tahad fikseeritud 8 bitti, pead need käsitsi täiendama (13 on 00001101). Miski, mida kirjutad, ei lahku sinu brauserist.
Levinud vead
- Jääkide vastupidi lugemine: järjestikuste jagamiste puhul on esimene jääk kõige parempoolsem number, mitte kõige vasakpoolsem.
- Ette jäetavate nullide unustamine, kui neid vaja on: 13 on 1101, aga baidina 00001101. See on oluline, kui pikkus on andmete osa, nagu värvi või võrgumaski puhul.
- Tähe O segiajamine nulliga või kuueteistkümnendsüsteemi B (11) segiajamine 8-ga kopeerimisel. Kuueteistkümnendsüsteemis on tähed suur- ja väiketähena sama väärtusega, aga need ei ole sama mis number.
- Prefiksi 0x või märgi # teisendusse jätmine: need on vaid märked, et arv on kuueteistkümnendarv, ja need tuleb enne kleepimist eemaldada.
- Arvamine, et 10 kahendsüsteemis on kümme: see on kaks. Sama „10“ on olenevalt alusest 2, 10 või 16.
Lahendatud harjutused harjutamiseks
Proovi iga ülesanne lahendada enne vastuse vaatamist ja kontrolli seejärel tööriistaga.
- Teisenda 10110110 kümnendsüsteemi ja kuueteistkümnendsüsteemi. Vastus: 128 + 32 + 16 + 4 + 2 = 182; neljaste rühmadena 1011 0110 = B6.
- Teisenda 200 kahendsüsteemi ja kuueteistkümnendsüsteemi. Vastus: 11001000 ja C8 (12 × 16 + 8 = 200).
- Teisenda 7F kahendsüsteemi. Vastus: 7 = 0111 ja F = 1111, seega 01111111, mis kümnendsüsteemis on 127.
- Kirjuta „OK“ kahendkoodis. Vastus: O on 79 ja K on 75, ehk 01001111 01001011.
Korduma kippuvad küsimused
Kuidas teisendada 1101 kahendsüsteemist kümnendsüsteemi?
Liidad nende kohtade väärtused, kus on 1: 8 + 4 + 1 = 13. Teine number paremalt on 0, seega 2 ei liideta.
Kui palju on 255 kahendsüsteemis ja kuueteistkümnendsüsteemis?
255 on kahendsüsteemis 11111111 ja kuueteistkümnendsüsteemis FF. See on suurim väärtus, mis mahub 8-bitisesse baiti.
Miks kasutab kuueteistkümnendsüsteem tähti?
Sest see vajab kuusteist erinevat sümbolit ja kümnendsüsteem annab vaid kümme (0 kuni 9). Seepärast A väärib 10, B 11, C 12, D 13, E 14 ja F 15.
Kui palju erinevaid arve saab kirjutada 8 bitiga?
256, 0-st 255-ni. Üldiselt saab n bitiga esitada 2 astmes n väärtust.
Kas tööriist teisendab negatiivseid või komakohtadega arve?
Ei, ainult mittenegatiivseid täisarve. Teksti puhul kasutab see UTF-8, seega täpitähed ja emojid annavad rohkem kui 8 bitti.