Az informatikában négy fő számrendszert használnak:
A számrendszer alapja: 10.
Az adott számrendszerben szerepeltethető számjegyek: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
A számrendszer alapja: 2.
Az adott számrendszerben szerepeltethető számjegyek: 0 és 1
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
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 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.
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 | 0
11 | 1 6 | 0
5 | 1 3 | 1
2 | 0 1 | 1
1 | 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
100 11001100
76 1001100
45 101101
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 20
biná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
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
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
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
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