===== Számrendszerek =====
A 42 számjegy felépítése a következő: a tízes helyiértéken négyes számjegy szerepel. Az egyesek helyiértékén pedig 2.
Így \( 4 * 10 + 2 * 1 = 42 \) adódik.
A tízes számrendszerben az alapszám 10. Az érvényes számjegyek {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.
Vegyünk egy bonyolultabb példát:
^számjegy^számjegy^számjegy^tizedes vessző^számjegy^számjegy^
|8|2|4|,|6|7|
|százasok|tízesek|egyesek|,|tizedek|századok|
|\(10^2\)|\(10^1\)|\(10^0\)|,|\(10^{-1}\)|\(10^{-2}\)|
Az egész és a törtrészeket elválasztó szimbólum a tizedesvessző. Az angolszász világban a pontot használják az elválasztásra.
A tizedesvesszőtől balra található a nulladik hely, balra tőle az első és így tovább. A helyek a tizedesvesszőtől jobbra is egyesével csökkennek.
A helyiérték a \( Helyiérték = alapszám^{hely} \) képlettel számítható.
//Részértéknek// nevezzük azt a részt, amit egy-egy számjegy képvisel:
\( Részérték = számjegy *alapszám^{hely} \)
A szám értékét a részértékek összege adja: \( Szám értéke = \sum{számjegy *alapszám^{hely}} \)
=== Kettes számrendszer ===
A digitális technikában ez a leginkább elterjedt számrendszer.
Alapszáma a 2, a számrendszer számjegyei a {0, 1}. A kettes számrendszer elemeit az angol rövidítésük alapján (binary digit) bit elnevezéssel találod meg. A legnagyobb helyiértékű bitet //Most Significant Bitnek// nevezzük (**MSB**), a legkisebb helyiértékűt //Least Significant Bitnek// (**LSB**) nevezzük.
^számjegy^számjegy^számjegy^számjegy^vessző^számjegy^számjegy^
|1|1|0|1|,|0|1|
|nyolcasok|négyesek|kettesek|egyesek|,|kettedek|negyedek|
|\(2^3\)|\(2^2\)|\(2^1\)|\(2^0\)|,|\(2^{-1}\)|\(2^{-2}\)|
A számérték 8 + 4 + 1 + 1/4 = 13,25.
=== 16-os számrendszer ===
**Tizenhatos számrendszer**ben sokkal tömörebben lehet felírni a számokat, mint kettes vagy tízes számrendszerben.
A számrendszer alapszáma a 16. A számjegyek: {0; 1; 2; 3; 4; 5; 6; 7; 8; 9; A; B; C; D; E; F}.
Nem tévedés, mivel az arab számokból kifogytunk, az angol ábécé hat betűjét is be kellett vetnünk.
Csak a rend kedvéért: A = 10; B = 11; C = 12; D = 13; E = 14; F = 15.
^számjegy^számjegy^vessző^számjegy^számjegy^
|F|4|,|A|3|
|16|1|,|1/16|1/256|
|\(16^1\)|\(16^0\)|,|\(16^{-1}\)|\(16^{-2}\)|
A vesszőtől balra lévő helyiértékek az 1; 16; 256; 4096 és így tovább. A vesszőtől jobbra lévő helyiértékek a 0,0625; 0,00390625.
A tizenhatos számrendszert szokás **hexadecimális** számrendszernek is nevezni. A hexadecimális kifejezés a görög nyelv hexi szavából (jelentése: „hat“) és latin nyelv decem (jelentése: tíz) szavaiból származik.
==== Átváltás 2-es számrendszerbe 10-es számrendszerből ====
Szám | Hányados | Maradék
-------------------------
42 | 21 | 0 LSB
21 | 10 | 1
10 | 5 | 0
5 | 2 | 1
2 | 1 | 0
1 | 0 | 1 MSB
Az algoritmus a maradékos osztáson alapul. Vegyük a számot: 42. Osszuk el az alapszámmal, jelen esetben a kettővel.
Az oszlop bal oldalán a kiindulási szám (42), középen a hányados (21), jobbra a maradék (0). Ezután a középső oszlopból vesszük a hányadost, és az új sorban az lesz a kiindulási szám. És vesszük újra a kettővel való osztással keletkező hányadost, maradékot, stb.
A maradékok oszlopában található a bináris szám, legalul a legnagyobb helyiértékű bit, legfelül pedig a legkisebb helyiértékű bit. Azaz alulról felfelé fogjuk leírni ezt a bináris számot
\( 42 = 101010_{(2)} \)
==== Átváltás 16-os számrendszerbe 2-es számrendszerből ====
Egy tizenhatos számrendszerbeli számjegy 4 bittel írható le. Szóval az átváltáshoz négybites csoportokat képezünk és elkezdjük az átváltást a legkisebb helyiértékek felől.
0000 => 0 | 0001 => 1 | 0010 =>2 | 0011 => 3
0100 => 4 | 0101 => 5 | 0110 =>6 | 0111 => 7
1000 => 8 | 1001 => 9 | 1010 =>A | 1011 => B
1100 => C | 1101 => D | 1110 =>E | 1111 => F
Akkor tehát mi lesz a következő bináris szám 16-os számrendszerben:
''1001110001''
Képezzünk 4 bites csoportokat:
''10 | 0111 | 0001''
A legnagyobb helyiértékű csoport nem adott ki 4 bitet, tegyünk bele helytöltő nullákat:
''0010 | 0111 | 0001''
És olvassuk ki a táblázatból a hexadecimális számjegyeket:
''0010 | 0111 | 0001 => 2 | 7 | 1''
Az eredmény: ''0x271''
Ahol a ''0x'' jelenti a 16-os számrendszert.