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