Dvejetainis, dešimtainis ir šešioliktainis: kaip pereiti iš vieno į kitą

Skaičių sistemų konvertavimas atrodo kaip magija, kol pamatote, kad tai visada ta pati idėja: kiekvieno skaitmens vertė priklauso nuo jo vietos. Čia išmoksite ranka paversti dvejetainį skaičių dešimtainiu ir atvirkščiai, be baimės skaityti šešioliktainius skaičius ir paversti tekstą bitais, o pavyzdžiai išspręsti ir yra lentelė nuo 0 iki 15, kurią patogu turėti po ranka.

Atnaujinta:

Kas yra pozicinė skaičiavimo sistema

Dešimtainiame skaičiuje 4 095 skaitmuo 4 nereiškia 4: jis reiškia 4 000, nes yra tūkstančių vietoje. Kiekviena pozicija skaitmenį padaugina iš 10 laipsnio (1, 10, 100, 1 000…). Tai ir yra pozicinė sistema, o jos pagrindas yra skirtingų naudojamų skaitmenų skaičius: dešimtainėje jų yra dešimt.

Dvejetainė sistema veikia taip pat, tik jos pagrindas yra 2: yra tik 0 ir 1, o kiekviena vieta dvigubai vertingesnė už ankstesnę. Šešioliktainė sistema naudoja 16 pagrindą: šešiolika skaitmenų yra nuo 0 iki 9 ir raidės nuo A iki F, o kiekviena vieta 16 kartų vertingesnė už ankstesnę. Kompiuteriai dirba dvejetainėje sistemoje, nes grandinė turi atskirti tik dvi būsenas (išjungta ir įjungta), o šešioliktainė sistema yra trumpas tų bitų užrašymo būdas.

Ką reiškia kiekviena vieta. Išmokus mintinai dvejeto laipsnius iki 128, beveik visi skaičiavimai tampa paprastesni.
Pozicija (iš dešinės į kairę)Vertė dvejetainėjeVertė šešioliktainėje
1-a11
2-a216
3-ia4256
4-a84 096
5-a1665 536
6-a321 048 576
7-a6416 777 216
8-a128268 435 456

Iš dvejetainio į dešimtainį ranka

Kiekvienas skaitmuo užrašomas su savo vietos verte ir sudedamos tik tos vietos, kuriose yra 1. Pavyzdys su 1101: iš dešinės į kairę vietų vertės yra 1, 2, 4 ir 8.

  1. Užrašykite skaičių, o po juo – kiekvienos pozicijos vertę: 1 1 0 1 virš 8 4 2 1.
  2. Pažiūrėkite, kas yra kiekvienoje vietoje: 1 aštuonetų vietoje, 1 ketvertų vietoje, 0 dvejetų vietoje ir 1 vienetų vietoje.
  3. Ignoruokite vietas, kuriose yra 0 (čia – dvejetų vietą).
  4. Sudėkite: 8 + 4 + 0 + 1 = 13. Taigi 1101 dvejetainėje sistemoje yra 13 dešimtainėje.

Su daugiau skaitmenų yra taip pat: 11111111 yra 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, didžiausia reikšmė, tilpstanti į 8 bitus. O 10110110 yra 128 + 32 + 16 + 4 + 2 = 182.

Iš dešimtainio į dvejetainį dalijant iš eilės

Skaičius dalijamas iš 2 vėl ir vėl, užrašant kiekvieno dalijimo liekaną (visada 0 arba 1), kol gaunamas dalmuo 0. Liekanos, skaitomos iš apačios į viršų, yra dvejetainis skaičius. Pavyzdys su 45:

Skaitant liekanas iš apačios į viršų, gaunama 101101. Patikrinimui sudėkite: 32 + 8 + 4 + 1 = 45.

Yra ir alternatyvus būdas, kurį daugelis mėgsta labiau: atimti dvejeto laipsnius nuo didžiausio iki mažiausio. Su 200: telpa 128 (lieka 72), telpa 64 (lieka 8), netelpa 32 ir 16, bet telpa 8 (lieka 0). Panaudotos vietos yra 128, 64 ir 8, todėl 200 = 11001000.

Šešioliktainė sistema: šešiolika skaitmenų ir lentelė po ranka

Kadangi nėra skaitmenų 10–15, naudojamos raidės A, B, C, D, E ir F. Vienas šešioliktainis skaitmuo tiksliai atitinka keturis bitus (pusbaitį, angl. „nibble“), todėl ji tokia patogi: baitas, sudarytas iš 8 bitų, užrašomas vos dviem šešioliktainiais skaitmenimis.

Norėdami paversti šešioliktainį skaičių dešimtainiu, kiekvieną skaitmenį padauginkite iš jo vietos 16 laipsnio ir sudėkite. Pavyzdžiui, 3F = 3 × 16 + 15 = 63, o A3 = 10 × 16 + 3 = 163.

Nuo 0 iki 15 keturiose sistemose, kurias rodo įrankis.
DešimtainisDvejetainis (4 bitai)AštuntainisŠešioliktainis
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Kodėl naudojama šešioliktainė sistema: baitai, spalvos ir adresai

Baitą sudaro 8 bitai, ir jis gali įgyti reikšmes nuo 0 iki 255 (00000000–11111111). Bitus ranka rašyti lėta ir lengva suklysti; šešioliktainėje sistemoje tas pats baitas yra du simboliai, nuo 00 iki FF. Norėdami iš dvejetainės sistemos pereiti į šešioliktainę, suskirstykite bitus į grupes po keturis nuo dešinės ir kiekvieną grupę pakeiskite lentelės skaitmeniu. Pavyzdys: 11010111 skaidoma į 1101 ir 0111, tai yra D ir 7, taigi reikšmė yra D7. Dešimtainiu pavidalu tai 13 × 16 + 7 = 215.

Žinomiausias atvejis yra interneto spalvos. Užraše #FF8800 yra trys baitai: FF raudonai (255), 88 žaliai (136) ir 00 mėlynai (0). Tai sodri oranžinė: visa raudona, kiek daugiau nei pusė žalios ir jokios mėlynos. Šešioliktainė sistema naudojama ir atminties adresuose, klaidų kodų ir tinklo identifikatoriuose.

Iš teksto į dvejetainį su ASCII

Kompiuteris saugo kiekvieną raidę kaip skaičių, o tą skaičių kaip bitus. ASCII lentelėje A yra 65, o 8 bitų dvejetainiu pavidalu tai 01000001. Žodis „Hi“ yra dvi raidės: H yra 72 (01001000), o i yra 105 (01101001), todėl jis užrašomas 01001000 01101001. „Hola“ atveju tai 72, 111, 108 ir 97, tai yra 01001000 01101111 01101100 01100001, o šešioliktainiu pavidalu 48 6F 6C 61.

Įrankis naudoja UTF-8 koduotę: pagrindinėms anglų kalbos raidėms kiekvienas simbolis užima vieną 8 bitų baitą, bet lietuviška raidė su diakritiniu ženklu (pavyzdžiui, ą ar ė) ar jaustukas užima kelis baitus, todėl gaunama daugiau nei 8 bitai. Pavyzdžiui, raidė ą yra du baitai: 11000100 10000101 (C4 85 šešioliktainiu pavidalu).

Kaip visa tai padaryti su įrankiu

Keitiklis „Dvejetainis, dešimtainis ir šešioliktainis“ tinka jūsų skaičiavimams ranka patikrinti arba ilgiems skaičiams išspręsti be klaidų.

  1. Įrašykite skaičių tos sistemos laukelyje: „Dešimtainis (10 pagrindas)“, „Dvejetainis (2 pagrindas)“, aštuntainis arba „Šešioliktainis (16 pagrindas)“. Kiti trys užsipildo patys.
  2. Jei skaitmuo netinka sistemai (pavyzdžiui, 2 dvejetainėje), įrankis jus įspės.
  3. Tekstui įrašykite jį laukelyje „Tekstas“ ir pažiūrėkite į „Dvejetainis (8 bitai vienam simboliui)“ ir šešioliktainį pagal baitus. Taip pat galite įklijuoti bitus 8 bitų grupėmis, kad grįžtumėte prie teksto.
  4. Neįprastoms sistemoms naudokite „Bet kuri sistema (nuo 2 iki 36)“: pasirenkate pradinę sistemą, galutinę sistemą ir skaičių.

Apribojimai: konvertuojami tik neneigiami sveikieji skaičiai (be trupmenų ir ženklo), o pirmieji nuliai nepridedami už jus, todėl jei norite fiksuotų 8 bitų, turite papildyti ranka (13 yra 00001101). Niekas, ką įrašote, nepalieka jūsų naršyklės.

Dažniausios klaidos

Išspręsti pratimai

Pabandykite išspręsti kiekvieną, prieš žiūrėdami atsakymą, o paskui patikrinkite įrankiu.

Dažniausiai užduodami klausimai

Kaip paversti 1101 iš dvejetainio į dešimtainį?

Sudedate tų vietų vertes, kuriose yra 1: 8 + 4 + 1 = 13. Antrasis skaitmuo iš dešinės yra 0, todėl 2 nesumuojama.

Kiek yra 255 dvejetainėje ir šešioliktainėje sistemoje?

255 yra 11111111 dvejetainėje ir FF šešioliktainėje sistemoje. Tai didžiausia reikšmė, tilpstanti į 8 bitų baitą.

Kodėl šešioliktainėje sistemoje naudojamos raidės?

Todėl, kad reikia šešiolikos skirtingų simbolių, o dešimtainė sistema suteikia tik dešimt (0–9). Todėl A reiškia 10, B – 11, C – 12, D – 13, E – 14, o F – 15.

Kiek skirtingų skaičių galima užrašyti 8 bitais?

256, nuo 0 iki 255. Apskritai su n bitų galima pavaizduoti 2 pakeltą n laipsniu reikšmių.

Ar įrankis konvertuoja neigiamus skaičius ar skaičius su trupmenomis?

Ne, tik neneigiamus sveikuosius skaičius. Tekstui naudojamas UTF-8, todėl raidės su diakritikais ir jaustukai duoda daugiau nei 8 bitus.