A kettes és a tizenhat os számrendszer:

    A köznapi életben a tízes számrendszert alkalmazzuk, a számítástechnikában ezzel szemben a kettes és tizenhatos számrendszer a használatos. Ha tehát prog-
ramozni szeretnénk, elengedhetetlen e számrendszerek alapos ismerete. Mielott
azonban elkezdenénk részletezni a kettes és tizenhatos számrendszert, próbáljunk a tízes számrendszerbol kiindulva néhány általános megállapítást tenni, ami minden számrendszerre igaz.
    A tízes számrendszer alapszáma a 10-es azért, mert a számrendszer helyi értékei- nek alapjául szolgál. Minden számrendszer helyi értékei az alapszám 0-tól egyesével növekvo hatványai. A tízes számrendszernél ez a következoképpen néz ki:

(Hatványjel: ^ )

10 ^ 0 = 1
10 ^ 1 = 10
10 ^ 2 = 100
10 ^ 3 = 1000
10 ^ 4 = 10000
10 ^ 5 = 100000
...stb.
    Ha már tisztában vagyunk a helyi értékekkel, akkor nézzük a következo fontos allotórészt, magát a számjegyeket. A tízes számrendszer legnagyobb számjegye a 9-es, számjegyei tehát 0-tól 9-ig terjednek. Ebbol levonhatjuk azt a lényeges következtetést, hogy minden számrendszer számjegyei 0-tól az alapszámnál eggyel kisebb számig terjednek. (Az alapszám a 10-es, a legnagyobb számjegy a 9-es.) Ennek nagyon egyszeru magyarázata van. A 9-es után, ami 9 db egyes, nem 10 db egyes jön, hanem egy db tízes. Ugyanígy a 90 után ami 9 db tízes nem tíz db tízes jön, hanem 1 db százas. Tehát, ha egy számjegy eléri egy helyi értéken az alapszámot, akkor ezen a helyi értéken 0 lesz, a következo, eggyel felette lévo helyi értéken pedig eggyel több. Ha ott 0 volt, akkor 1 lesz, ha 1 volt, akkor 2 stb.
Nézzünk most egy példát, ami egy szokványos tízes számrendszerbeli szám ilyen felbontását mutatja helyi értékekre és a helyi értékeken álló számjegyekre:
        1986

1*1000 =1000
9*  100 =  900
8*    10 =    80
6*      1 =      6
             +
             -------
               1986

------------------------------
10^3    10^2    10^1    10^0
1000    100      10         1
------------------------------
1          9           8           6

    Ezután próbáljuk a meglévo ismereteink alapján felépíteni a kettes számrendszert. Alapszáma tehát a 2. Ebbol következnek a helyi értékek. Ezek a 2-es szám 0-tól egyesével növekvo hatványai:
2^0    = 1
2^l     = 2
2^2    = 4
2^3    = 8
2^4    = 16
2^5    = 32
2^6    = 64
2^7    = 128
2^8    = 256
...stb.
    A legnagyobb számjegy az a.lapszámnál eggyel kisebb, ami az 1-es. A számjegyek tehát 0-tól az alapszámnál eggyel kisebb számig terjednek, ezek a 0 és az 1. Most, hogy ismerjük a 2-es számrendszer számjegyeit és helyi értékeit, leírhatjuk vele az elso számunkat.
    Az átváltáshoz használt eljárás nem csak a kettes számrendszerbe történo átváltásnál alkalmazható. Megértéséhez váltsuk át az 1986-ot kettes számrendszerbe.
    Az átváltandó számot eloször osszuk el kettovel, majd írjuk le az eredményt, és a maradékot. A maradék 0, ez a kettes számrendszerbeli szám utolsó számjegye. Az osztás eredménye 993, ezt kell ezután tovább osztani és a maradékokat jobbról balra haladva egymás mellé írni. Az osztást akkor kell befejezni, ha az eredmény 0.

Eredmény     Maradék

1986     0    (1986:2=993,     maradék=0)
993       1      (993:2=496,     maradék=l)
496       0      (496:2=248,     maradék=0)
248       0      (248:2=124,     maradék=0)
124       0      (124:2=62,       maradék=0)
62         0         (62:2=31,       maradék=0)
31         1         (31:2=15,       maradék=l)
15         1         (15:2=7,         maradék=l)
7           1           (7:2=3,         maradék=l)
3           1           (3:2=1,         maradék=l)
1           1           (1:2=0,         maradék=l)
0     vége

    A tízes számrendszerbeli 1986 a kettes számrendszerben leírva 11111000010. Végezziik el az ellenorzést is, ami a helyiértékek és az ott álló számjegyek szorzatainak az összegzése, Kezdjük el balról jobbra:

1 db 1024-es-1 * 1024    =1024
1 db   512-es-1 * 512      =  512
1 db   256-os-1 * 256      =  256
1 db   128-as-1 * 128      =  128
1 db     64-es-1 * 64        =     64
0 db     32-es-0 * 32        =       0
0 db     16-os-0 * 16        =       0
0 db       8-as-0 * 8           =      0
0 db       4-es-0 * 4           =      0
1 db       2-es-1 * 2           =      2
0 db       1-es-0 * 1           =      0
                                        +
                                        -------
                                          1986

    A kettes számrendszerbeli számot az eléírt százalékjellel (%) szoktuk megkülön böztetni (pl.%11111000010). Most már elvégeztük a tízesbol kettesbe, az ellenorzés során pedig a kettesbol tízesbe való átalakítást is. Javasoljuk, hogy még néhány egyéni példával folytassuk a gyakorlást. Azért lényeges, hogy a kettes számrendszerben otthonosan mozogjunk, mert a számítógép muködése ezen a számrendszeren alapul.
    A kettes számrendszerben egy számjegy az a legkisebb egység, amit a számítógép tárjának elemi része tárolni képes. Ezt az elemi, legkisebb egységet nevezzük BIT- nek. Ha egy bit értéke 0, akkor kikapcsoltnak (alacsony állapot), ha 1, akkor bekapcsoltnak (magas állapot) nevezzük. Egy 8 bites csoportot nevezünk BYTE- nak" A számítógép processzora és tára is ezekre a 8 bites csoportokra épül, azaz byte-szervezésu.
    Egy byte-on belül a 8 bitet jobbról balra 0-tól 7-ig terjedo sorszámokkal látjuk el. Eszerint a legkisebb helyi érteku, a 0. bit a jobb szélso, míg a legnagyobb helyi értéku, a 7. bit a bal szélso.
    Ezek után térjünk rá a tizenhatos, más néven hexadecimális számrendszerre. Próbáljuk ugyanúgy lépésrol lépésre felépíteni, mint a kettes számrendszert. Annyit rögtön tudunk, hogy az alapszám a 16-os, a helyi értékek pedig a 16-osnak 0-tól egyesével növekvo hatványai:

16 ^ 0=      1
16 ^ 1=    16
16 ^ 2=  256
16 ^ 3=4096
...stb.

    Ezután határozzuk meg a számjegyeket. A számjegyek 0-tól az alapszámnál, tehát a 16-osnál eggyel kisebb számig, a 15-ösig terjednek. Itt jelentkezik az elso furcsaság. Mi, akik a tízes számrendszerhez vagyunk szokva, legnagyobb számjegyként a 9-est ismerjük. Itt pedig még a 15-ösig önálló számjegyekre van szükség. Erre a hiányzó hat számjegyre vezették be az ABC elso hat betujét A-tól F-ig.

DEC HEX BIN
1     =     1     =      0001
2     =     2     =      0010
3     =     3     =      0011
4     =     4     =      0100
5     =     5     =      0101
6     =     6     =      0110
7     =     7     =      0111
8     =     8     =      1000
9     =     9     =      1001
10   =     A     =     1010
11   =     B     =     1011
12   =     C     =     1100
13   =     D     =     1101
14   =     E     =      1110
15   =     F     =      1111

    Az 1986 tehát a tizenhatos számrendszerben:

16^2       16^1     16^0
256         16          1

    Végezzük el az ellenorzést (C=12)

2 db         1-es-  2 * 1      =     2
C db      16-os-12 * 16   =  192
7 db     256-os-  7 * 256 =1792
                                        +
                                        -------
                                          1986

    A tizenhatos számrendszer-beli számok leírásánál a szám elé dollár ($) jelet kerll írni, ezzel jelöljük, hogy a szám hexadecimális (PL: $7C2). Ezzel megismertük a tizenhatos számrendszert, bár néhány példával nem árt még gyakorolni az átalakítást tízesből tizenhatosba és vissza.
    Ezután térjünk rá, hogyan lehet kettesből tizenhatosba, ill tizenhatosból kettesbe átalakítani a számokat. Maradjunk az eredeti példánknál, és az 1986-os számot kettesből alakítsuk át tizenhatosba. Először írjuk le a kettes számrendszerbeli számot,

11111000010

majd jobbró1 balra osszuk fel négyes csoportokra. Ha nem jön ki négy számjegyre egészítsük ki 0-kal:

0111,1100,0010

Ha kész, mindegyik négyes csoportot váltsunk át külön-külön tízes számrend- szerbeli számmá, majd írjuk le az így kapott számot tizenhatos számrendszerbeli számjegyekkel:

0111,        1100,         0010
   7               12               2
   7                C               2

    A végeredmény az 1986 tizenhatosbeli alakja, a $702. Végezzük most el viszzafelé a műveletet, a $702-t írjuk át kettes számrendszerbeli számmá. Ehhez szintén előszöl írjuk le a 702 számjegyeket, majd mindegyik számjegyhez rendeljünk hozzá egy négybites csoportot. Ezekben a négyes csoportokban írjuk majd le a hozzá tartozó tizenhatos számrendszerbeli számjegyet kettes számrendszerben. Ügyeljünk arra, hogy minden helyiértéket kitöltsünk, írjuk le az összes 0-t is.

7                  C                2
0111         1100          0010

    Ha a számsor bal 0ldalár61 elhagyjuk a felesleges nullákat, megkapjuk az eredeti kettes számrendszerben leírt 1986-os számot.

$7C2 =%11111000010 = 1986