===== 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.