Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

System ósemkowy


powrót

Inna nazwa systemu ósemkowego: oktalny. W tym systemie używanych jest osiem cyfr:

$$0,1,2,3,4,5,6,7$$

W niektórych sytuacjach w informatyce używa się właśnie tego systemu. Na przykład w systemie Linux prawa do pliku dla danego obiektu ustawiane są wykorzystując dokładnie jedną cyfrę z przedziału $$0-7$$.

Zamiana na dziesiętny

W systemie ósemkowym podstawą jest liczba 8. Do zamiany z ósemkowego na dziesiętny wykorzystujemy ten sam algorytm jak w przypadku zamiany z dwójkowego na dziesiętny.

Dla przykładu zamieńmy liczbę $$3452$$ na dziesiętny:

$$(3452)_8=3\cdot 8^3+4\cdot 8^2+5\cdot 8^1+2\cdot 8^0=$$

$$3\cdot 512+4\cdot 64+5\cdot 8+2\cdot 1 = 1834$$

Zamiana z dziesiętnego na ósemkowy

Postępujemy analogicznie jak przy zamianie z dziesiętnego na dwójkowy, z tą różnicą, że w pierwszej kolumnie wykonujemy dzielenie całkowite przez 8 a w drugiej wyznaczamy resztę z dzielenia przez 8. Czynności te wykonujemy do momentu otrzymania 0. Poniżej zamienimy liczbę $$1834$$ na liczbę zapisaną w systemie ósemkowym:

dziesiętny na ósemkowy

 Następnie wynik spisujemy od końca z drugiej kolumny tabeli:

$$1834=(3452)_8$$

Z ósemkowego na dwójkowy

Ponieważ $$8=2^3$$, oznacza to, że każda cyfra w systemie ósemkowym odpowiada dokładnie trzem cyfrom systemu dwójkowego:

ósemkowy na dwójkowy

Teraz wystarczy każdą cyfrę z systemu ósemkowego podmienić na trzy cyfry binarne - wiodące zera opuszczamy, np.

$$(175)_8=(1\ 111\ 101)_2$$

Z dwójkowego na ósemkowy

Podobna sytuacja ma się przy konwersji z dwójkowego na ósemkowy. Postępujemy następująco: dzielimy na partie po trzy bity (patrząc od prawej), następnie zamieniamy je na cyfry w systemie ósemkowym, na przykład: 

$$(10 110 101 001)_2=(2651)_8$$