Tuesday, 21 July 2020

A számrendszerekről


Ez az írás azoknak szól, akik még nem is nagyon hallottak a számrendszerekről. Egy kis bevezető, az alapok megértéséhez. Basic programozáshoz talán nincs túl nagy szükség más számrendszerekre a tízesen kívül, bár az elv jól jöhet.

A hétköznapokban a tízes számrendszert használjuk. A tízes számrendszer azt jelenti, hogy tíz számjegyet használunk összesen (a 0-val együtt, így 0 és 9 között összesen tíz számjegy van). Mivel kilencnél nagyobb számot jelölő számjegy nincs, a tízet már két számjeggyel tudjuk kifejezni: a legnagyobb értéket jelölő számjegynél (9) nagyobb nincs, így helyette a legkisebbet, a 0-át írjuk, viszont elé teszünk egy 1-est. Ez a két számjegy fejezi ki azt az értéket, ami a 9 utáni eggyel nagyobb szám. A két számjegy értékét külön helyi értéknek nevezzük. A tízes helyén a tíznél kisebb számoknál is van helyi érték, ami nulla, ezt azonban nem szokás kiírni (pl. az 1 úgy is felírható lenne, hogy 01, a 2 úgy, hogy 02, stb.) Ha a tízhez hozzáadogatunk 1-et, és újra elfogynak a számjegyek 19-nél, jön a váltás újra, és 20-at írunk., és ez így megy a végtelenségig.

Használhatunk más számrendszereket is, ahol tíznél több vagy kevesebb számjegyet használunk (a nullával együtt). Ilyenkor a „váltás” nem tíznél jön, vagyis nem tíznél írunk eggyel több számjegyet az adott érték jelölésére, hanem akkor jön, ahányas a számrendszer. Például a legkisebb elképzelhető számrendszer a kettes. Egyes számrendszerről azért nem beszélhetünk, mert abban az egyetlen számjegy a 0 lenne, ezzel nem fejezhetnénk ki nagyobb értéket. Illetve az egyetlen számjegy lehetne az 1, ami 1-et jelöl. Akkor a kettőt 11, a hármat 111 jelölné, ezzel azonban már tíz alatt is komoly problémáink lennének, ha így akarnánk a számokat jelölni.
Maradjunk tehát abban, hogy a legkisebb számrendszer a kettes. Itt a 0 mellett még egy számjegy létezik, ez az 1, tehát összesen két számjegyünk van. Ezért már a kettőt sem tudjuk egyetlen számjeggyel felírni. A kettes számrendszerben a kettőt jelöljük úgy, hogy 10 (kiolvasva nem „tíz", hanem „egy-nulla"). Ha ehhez hozzáadunk egyet, 11 lesz, ez jelöli a hármat. Ha ehhez is hozzáadunk egyet, megint kevés a számjegy, így megint bővül a helyi értékek száma, így 100 fogja jelölni a négyet. 101 jelöli az ötöt, 110 jelöli a hatot, 111 jelöli a hetet, 1000 jelöli a nyolcat, és így tovább.
Használhatunk olyan számrendszert is, ahol még a tízet és a tíznél nagyobb számokat is külön számjegyekkel jelöljük, például nagybetűkkel. Így ha a kilenchez hozzáadunk egyet, akkor azt jelölhetjük A-val, ez a tíz. A tizenegy lehet B, a tizenkettő C, a tizenhárom D, a tizennégy E, a tizenöt F. Ha csak a tizenhatnál alkalmazunk helyi érték váltást, és a tizenhatot jelöljük 10-val (kiolvasva itt a 10 ugyancsak „egy-nulla”), akkor ez most a tizenhatos számrendszer lesz. Hozzáadogathatunk mindig egyet az 10-val jelölt számhoz: 11 az tizenhét, 12 az tizennyolc … 19 az huszonöt, a következő számot pedig 1A-val jelöljük, ez a huszonhat, utána 1B a huszonhét, 1C a huszonnyolc … 1F a harmincegy, a 20 pedig harminckettő. A 30 a negyvennyolc, a 40 a hatvannégy:



hexadecimális (16-os)
számrendszerben
decimális (10-es)
számrendszerben
10
16
20
32
30
48
40
64
50
80
60
96
70
112
80
128
90
144
100
256
200
512
300
768
400
1024
1000
4096