Számrendszerek az informatikában
A Wikipédiából, a szabad lexikonból.
Az informatikában négy fő számrendszert használnak a különböző bites kódolásokban:
- Bináris
- Oktális
- Decimális
- Hexadeciális
Tartalomjegyzék |
[szerkesztés] Bináris
Az adott számrendszerben szerepeltethető számjegyek: 0 és 1
[szerkesztés] Oktális
Az adott számrendszerben szerepeltethető számjegyek: 0-tól 7 -ig
[szerkesztés] Decimális
Az adott számrendszerben szerepeltethető számjegyek: 0-tól 9-ig
[szerkesztés] Hexadecimális
Az adott számrendszerben szerepeltethető számjegyek: 0-tól 9-ig plusz az A B C D E F
[szerkesztés] Átszámítások
[szerkesztés] Decimálisból-binárisba
Adott számjegyet (decimális, azaz tizes számrendszer) 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.:
dec maradék dec maradék ------------ ------------ 47 | 1 24 | 0 23 | 1 12 | 0 11 | 1 6 | 0 5 | 1 3 | 1 2 | 0 1 1
A maradékoszlop számsorát a decimális sor utolsó egyesével együtt felírjuk lentről felfelé és megkapjuk az adott decimális szám bináris megfelelőjét.
47 -> 101111 (informatikában: 00101111) 24 -> 11000 (informatikában: 00011000)
[szerkesztés] 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... Azokat a helyiértékeket, melyek 1-essel vannak jelölve, decimálisan összeadjuk, az összeg a decimális érték 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+23+22+21+20=32+8+4+2+1=47
Szokásos, hogy az informatikában a byte (bájt) kódolás miatt nyolc számjegyen (vagy annak egész számú többszörösén) számolnak, azaz az iménti számot így lehet 8 bites alakban felírni:
bináris: 00101111
[szerkesztés] Műveletek
[szerkesztés] Negáció
Logikai NEM
Bináris számrendszerben (bájt kódolással, azaz 8 helyiértékre számítva):
27 26 25 24 23 22 21 20 bináris: 0 0 1 0 1 1 1 1
Minden számjegy ellenkezővé alakítása (0-ból 1-es, 1-ből 0)
27 26 25 24 23 22 21 20 bináris: 1 1 0 1 0 0 0 0
[szerkesztés] Shift (bitenkénti eltolás)
Szintén jellemzően a bináris számrendszerre alkalmazzuk. Az adott számsort "eltoljuk" balra (Shift left - SHL), vagy jobbra (Shift right - SHR), a "kieső" számjegyek elvesznek az eltolás irányába, a másik oldalról 0-val töltjük fel a számsort. A Shift művelet szorzást, illetve (egész)osztást eredményez a bináris számon:
SHL (1)
input: 0 1 0 0 1 1 0 1 -> 77 output: 1 0 0 1 1 0 1 0 -> 154
SHR (1)
input: 0 1 0 0 1 1 0 1 -> 77 output: 0 0 1 0 0 1 1 0 -> 38