A modern világban a Nyolcas számrendszer nagy érdeklődés és vita tárgyává vált. A Nyolcas számrendszer eredetétől a mai társadalomra gyakorolt hatásáig a különböző területek szakértőinek tanulmányozásának és elemzésének tárgya volt. Relevanciája túlmutat a határokon és a kultúrákon, hiszen hatása a mindennapi élet minden területén érezhető. Ebben a cikkben megvizsgáljuk a Nyolcas számrendszer-hez kapcsolódó különböző szempontokat, az eredetétől a mai fejlődéséig. Szigorú és részletes elemzéssel igyekszünk jobban megérteni a Nyolcas számrendszer jelentőségét a mai társadalomban és a jövőbeni vetületét.
Számjelölő rendszerek |
---|
Arab · Babiloni · Csuvas · Egyiptomi · Görög · Inka · Maja · Római · |
Számábrázolási rendszerek |
1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 · 12 · 14 · 16 · 20 · 60 |
Vegyes alapú számrendszer |
A nyolcas számrendszer vagy oktális számrendszer a 8-as számon alapuló számrendszer. Nyolc számjegy: 0, 1, 2, 3, 4, 5, 6, 7 segítségével ábrázolja a számokat.
Kettes számrendszerből úgy lehet átírni a számokat, hogy hátulról hármasával csoportosítjuk. Például a decimális 74 bináris alakban 1001010, amit 001 001 010 alakra bontható, így a nyolcas számrendszerben ez 112. Ezt azért lehet megtenni, mert 8=23.
A yuki törzs Kaliforniában és a mexikói pamenan nyelv nyolcas számrendszert használ, mert az ujjközeikkel számolnak.[1]
1716-ban XII. Károly svéd király felkérte Emanuel Swedenborgot, hogy a használatban lévő tízes alapú számrendszer helyett alkosson meg egy 64-es számrendszert. A tudós úgy érvelt az elképzelés ellen, hogy nem mindenki olyan intelligens, mint a király, s nem mindenki tud ilyen nagy alapot kezelni. Ehelyett a 8-as számrendszert ajánlotta. 1716-ban megírta En ny rekenkonst som om vexlas wid Thalet 8 i stelle then wanliga wid Thalet 10 (A számolás új művészete, mely a szokásos 10-es alap helyett a 8-as számrendszert használja) című kéziratát, mely nyomtatásban soha sem jelent meg. A számokat 0–7 között az o, l, s, n, m, t, f, u, (v) helyettesítette, így 8=lo, 16=so, 24=no, 64=loo, 512=looo. A csak mássalhangzókból álló számokat egy speciális szabály alapján magánhangzókkal pótolták ki, s ezek lettek az új számok.[2]
1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 |
---|---|---|---|---|---|---|---|
2 | 4 | 6 | 10 | 12 | 14 | 16 | 20 |
3 | 6 | 11 | 14 | 17 | 22 | 25 | 30 |
4 | 10 | 14 | 20 | 24 | 30 | 34 | 40 |
5 | 12 | 17 | 24 | 31 | 36 | 43 | 50 |
6 | 14 | 22 | 30 | 36 | 44 | 52 | 60 |
7 | 16 | 25 | 34 | 43 | 52 | 61 | 70 |
10 | 20 | 30 | 40 | 50 | 60 | 70 | 100 |
Néha a nyolcas számrendszert használják a tizenhatos helyett. Az Unix és a rajta alapuló operációs rendszerekben a felhasználói jogokat egy nyolcas számrendszerbeli jeggyel ábrázolják, így minden fájl esetén csak annyi tárhelyet használnak a jogokhoz, amennyit kell. Digitális kijelzőkön is alkalmazzák.
A nyolcas számrendszer jegyeit használják a transzponderek.
A tízestől eltérő számrendszer használatára általában a szám után alsó indexbe írt alapszám utal, például: 2528. Az átváltás tízes számrendszerbe pedig így néz ki: 4678 = 311 (= 4×82 + 6×81 + 7×80).
A C programozási nyelv a ""o"" prefixumot használja. Például: ""o521"". Az ""o"" azt jelenti, hogy oktális számról van szó.
A Python 2.x és JavaScript 1.x programnyelvekben nullát kell írni az oktális számok elé.
A legkönnyebben megérthető módszer az, hogy megnézzük, hányszor van meg benne a lehető legnagyobb 8-hatvány, és ezt ismételjük, amíg nullát nem kapunk.
Példa:
125/8^2=1
125-((8^2)*1)=61
61/8^1=7
61-((8^1)*7)=5
125(10)=175(8)
900/8^3=1
900-((8^3)*1)=388
388/8^2=6
388-((8^2)*6)=4
4/8^1=0
4-((8^1)*0)=4
4/8^0=4
900(10)=1604(8)
Az előző módszer finomítása a sorozatos osztás módszere. Ahelyett, hogy egyből a lehető legnagyobb hatvánnyal osztanánk, az új alappal osztunk sorozatosan, így a kisebb egységektől haladunk a nagyobbak felé. A maradékok az egyre nagyobb egységek számát jelzik. Előnye, hogy nem kell előre megbecsülni, hogy mekkora a lehető legnagyobb hatvány, ami még nem kisebb az adott számnál.
Az eredeti számot maradékosan osztjuk nyolccal, így megkapjuk, hány nyolcas lenne benne. A maradék az egyesek számát adja. Megnézzük, hogy van-e elég nyolcas ahhoz, hogy egy nagyobb egységet képezzen. Ha van, akkor egy maradékos osztással megkapjuk, hány nyolcast nem lehet egy nagyobb egységre beváltani. Ismételjük az osztásokat, amíg nem kapunk egy nyolcnál kisebb számot. Ez lesz a nyolcas számrendszerbe átírt szám első jegye. A többi jegyét fordított sorrendben adják a maradékok.
Az előbbi módszerekkel csak egész számokat tudunk átváltani. A sorozatos szorzás módszerével azonban a tizedestörtek is átválthatók.
Feltehetjük, hogy a tizedestört nulla és egy közé esik. Szorozzuk meg a tizedestörtet nyolccal, és vegyük az egészrészét. Ez megadja a nyolcadostört első jegyét. A másodszori szorzás eredményének egészrészeként a nyolcadostört második jegyét kapjuk, és így tovább.
Véges nyolcadostörtek esetén az eljárás véget ér. Más racionális számok esetén elég addig alkalmazni a módszert, amíg egy teljes szakaszt nem kapunk. Irracionális számokra az eljárás nem ér véget. Így csak az első jegyet kaphatjuk meg.
Ha egy valós számnak van egészrésze és törtrésze is, akkor ezt a módszert az előző kettő valamelyikével kell kombinálni.
Alkalmazhatók a fordított irány esetén használt módszerek. Mivel csak a decimális számrendszerben szoktunk számolni, ezért egyszerűbb lehet, ha használjuk a formulát:
Kétjegyű számokra különösen egyszerű. Szorozzuk az első jegyet nyolccal, és adjuk hozzá a második jegyet.
Ez a módszer fordított irányban is működik. Erre szolgál az átváltási táblázat.
A 0–63 tartományban lévő számok ismertetésére egy táblázat szolgál. A 50(10) sor első oszlopában 60 található, az oszlop első sorában pedig 02. Ha összeadjuk őket (60+02), akkor 62 kapunk, amely az 50 nyolcas számrendszerbeli alakja.
Nyolcas számrendszerbeli számot különösen egyszerű egy másik 2-hatvány alakú számrendszerbe átírni. Ezt azért lehetséges, mert 8 is 2 hatványa.
Helyettesítsünk minden jegyet azok kettes számrendszerbeli alakjával.
Példa: 1572.40 (8) átváltása
1 5 7 2 . 40 = 001 101 111 010 . 100 (000) = 001101111010.100
Az eljárás az előbbi fordítottja. Osszuk a biteket hátulról kezdve hármas csoportokra, és helyettesítsünk minden hármast nyolcas számrendszerbeli alakjával.
Példa: 1010111100(2) átváltása
001 | 010 | 111 | 100 |
1 | 2 | 7 | 4 |
Ezért 10101111002 = 12748
Ez az átváltás az előzőekhez hasonlóan végezhető el. Ehhez segítségül hívjuk a kettes számrendszert. Először a nyolcas számrendszerben megadott számot átírjuk kettes számrendszerbe, majd onnan tovább tizenhatos számrendszerbe: a biteket hátulról kezdve négyes csoportokba osztjuk, és minden négyes helyett azok tizenhatos számrendszerbeli alakját írjuk.
Példa: 10578 átváltása:
1 | 0 | 5 | 7 |
001 | 000 | 101 | 111 |
0010 | 0010 | 1111 |
2 | 2 | F |
Ezért 10578 = 22F16
Az előző algoritmus fordítottjával az átváltás ebben az irányban is egyszerű.