Számrendszerek az informatikában
Az informatikában négy fő számrendszert használnak:
- Decimális
- Bináris
- Oktális
- Hexadecimális
10-es számrendszer (decimális)
A számrendszer alapja: 10.
Az adott számrendszerben szerepeltethető számjegyek: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
2-es számrendszer (bináris)
A számrendszer alapja: 2.
Az adott számrendszerben szerepeltethető számjegyek: 0 és 1
16-os számrendszer (hexadecimális)
A számrendszer alapja: 16.
Az adott számrendszerben szerepeltethető számjegyek:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Történet
Manapság a 10-es alapú számrendszer a legelterjedtebben használt számrendszer. Feltehetően a rendszer elterjedségenek az az oka, hogy az embereknek tíz ujjuk van.
A 8-as alapú rendszert az észak-kaliforniai yuki indiánok találták ki, akik feltehetőleg az ujjak közét is használták a számláláskor.
A maja, valamint a pre-kolumbiai és közép-amerikai civilizációk 20-as alapú számrendszereket használtak, (ennek eredete feltehetőleg öszefügg az emberek kéz- és lábujjainak számával).
A 60-as alapú rendszert a sumér és az azt követő Mezopotámiai kultúrák használták, de mint túlélőt, a ma használt időmérő rendszerben is ezt a rendszert használjuk (egy órát 60 percre osztunk, illetve 1 percet 60 másodpercre).
A 12-es számrendszer nagyon népszerű volt, mert a 12 maradék nélkül osztható 2-vel (felezhető), 3-mal (harmadolható), 4-el (negyedelhető), 6-al(hatodolható). A ma használt naptárban az év 12 hónapra oszlik, 12 óra a nappal és 12 óra az éjszaka.
A 2-es számrendszer használata abból adódik, hogy a kapcsolók/relék (és elektronikus követőik, az elektroncsövekből, majd később a tranzisztorokból álló kapcsolóáramkörök) csak két állapotúk lehetnek : „nyitottak” és „zártak”. Anyitott=1 és a zárt=0 helyettesítéssel (vagy fordítva) nyerjük a bináris számjegyek sorozatát. (A tranzisztorok esetében a feszültégekre gyakran használatos a magas és az alacsony kifejezés a ‘be’ és ‘ki’ helyett). A bináris rendszer az alapja a digitális számítógépek működésének. Ezt a számrendszert használja csaknem minden digitális számítógép az egészekkel való aritmetikai műveleteknél.
A helyiértékes rendszer
A világszerte használt 10-es alapú számrendszer csak a 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 számjegyeket használja. A felsorolás egyben a számok un. alaki értéke, a számjegy tényleges értéke helyi értéke attól függ, hogy a szám melyik poziciójában áll, mert ekkor az alaki érték még megszorzódik a 10 alapszám adott poziciója szerint hatványával. A 304 =3*102 + 0*101 + 4*100=3*100 + 0*10 + 4. Meg kell jegyezni, hogy a zéró, amelynek használatára az előzőekben említett rendszerekben nem volt szükség, itt alapvetően fontos, mivel lehetővé teszi egy hatvány nagyságrend kihagyását, ill „átugrását” . A ma világszerte elterjedt arab számrendszer, amely valójában Indiai eredetű, a 10-et alapszámnak tekintő helyiértékes rendszer.
Átszámítások
1. Decimálisból-binárisba
Adott számot (decimális, azaz tizes számrendszerbeli) sorozatosan elosztunk 2-vel. Az osztás maradékát feljegyezzük (0, vagy 1), majd az osztás során az eredmény egészrészét osztjuk tovább. Pl.:
szám maradék szám maradék———— ———— 23 | 1 12 | 011 | 1 6 | 05 | 1 3 | 12 | 0 1 | 11 | 1 0
0
A maradékoszlop számsorát felírjuk lentről felfelé és megkapjuk az adott decimális szám bináris megfelelőjét.
47 101111
24 11000
100 11001100
76 1001100
45 101101
2. Binárisból-decimálisba
Mint minden számrendszer a bináris is helyiértékek összegével írható fel. Azaz 20-on, 21-őn… Azok a helyiértékek, melyek 1-essel vannak jelölve decimálisan összeadjuk, az összeg a decimális megfelelő lesz. Pl.:
„helyiértékesítve”:
25 24 23 22 21 20bináris: 1 0 1 1 1 1
A számjegyek helyiértékeinek összegét számolva:
25*1 + 24*0 + 23*1 + 22*1 + 21*1 + 20*1=32+0+8+4+2+1=47
3. Decimálisból hexadecimálisba
Az átalakítást a maradékmódszert felhasználva végezzük. A decimális számot addig osztjuk 16-al, ameddig az eredmény 0 nem lesz, a következők szerint.
:16 :16
szám maradék szám maradék———— ———— 60 | 12=C 47 | 15=F 3 | 3 2 | 2 0 | 0 |
A maradékoszlop számsorát felírjuk lentről felfelé és megkapjuk az adott decimális szám bináris megfelelőjét.
60 3C
47 2F
50 32
100 64
987 3DB
4. Hexadecimálisból decimálisba
Az átalakítást a hatványérték módszert felhasználva végezzük.
Hexadecimális szám: | 3 | C |
Helyi érték: | 161=8 | 160=1 |
Hatványérték | 3*16 | 12 (C=12)*1 |
A szám felírása a hatványértékek összegeként:
3C=3*16+12*1=48+12=60
5. A bináris számok átalakítása hexadecimális számokká
Decimális | Bináris | Hexadecimális |
0 | 0 | 0 |
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 3 |
4 | 100 | 4 |
5 | 101 | 5 |
6 | 110 | 6 |
7 | 111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
Egy bináris számot úgy alakítunk át hexadecimális számmá, hogy a bináris számot jobbról kezdve négyes csoportokra osztjuk, és minden négyes csoportot a megfelelő hexadecimális számmal helyettesítjük a következő módon.
10011111= 1001 1111
9 F = 9F
6. A hexadecimális számok átalakítása bináris számokká
Mindegyik hexadecimális számjegyet helyettesítjük a megfelelő bináris számmal a következő módon.
9F= 9 F
1001 1111 = 10011111