System ósemkowy
System ósemkowy, zwany także systemem ósemkowym lub systemem ósemkowym (base‑8), jest pozycjonowanym systemem liczbowym o podstawie 8. Wykorzystuje osiem cyfr: 0, 1, 2, 3, 4, 5, 6, 7. Każda pozycja w zapisie liczby ósemkowej odpowiada potędze liczby 8.
Definicja
W systemie ósemkowym każda liczba naturalna n jest przedstawiana jako:
n = a_k·8^k + a_{k‑1}·8^{k‑1} + … + a_1·8^1 + a_0·8^0,
gdzie a_i to cyfry w przedziale od 0 do 7, a k jest największym wykładnikiem, dla którego a_k ≠ 0.
Historia
System ósemkowy był używany już w starożytnych kulturach, m.in. w Mezoameryce, ponieważ ludzie często liczyli na palcach dłoni i palców stóp (8 elementów). W informatyce system ósemkowy zyskał popularność w latach 1970‑1990 dzięki prostocie konwersji z i do systemu binarnego oraz z powodu powszechnego stosowania w systemach operacyjnych Unix i Linux, gdzie niektóre uprawnienia plików wyrażane są właśnie w notacji ósemkowej.
Zastosowania
- W informatyce i programowaniu – szczególnie przy definiowaniu uprawnień w systemie Unix oraz w Linux (np. tryb
chmod 755). - W architekturze komputera – jako wygodna forma zapisu grupy trzech bitów (każda cyfra ósemkowa odpowiada dokładnie trzem bitom binarnym).
- W językach programowania takich jak C – stałe ósemkowe zapisuje się z prefiksem
0(np.0755). - W dokumentacji i podręcznikach technicznych, gdzie krótkie notacje liczby binarnej są potrzebne, ale system dziesiętny jest zbyt nieczytelny.
Konwersja między systemami
Z binarnego na ósemkowy
Procedura:
- Podziel ciąg binarny na grupy po trzy bity, zaczynając od najniższego (prawego) końca.
- Uzupełnij brakujące bity po lewej stronie zerami.
- Każdą grupę zamień na odpowiadającą jej cyfrę ósemkową (np.
101→5).
Przykład: 1101011₂ → grupy 001 101 011 → 1 5 3₈ → wynik 153₈.
Z ósemkowego na binarny
Każdą cyfrę ósemkową zamieniamy na trzy bity binarne:
- 0 → 000
- 1 → 001
- 2 → 010
- 3 → 011
- 4 → 100
- 5 → 101
- 6 → 110
- 7 → 111
Przykład: 73₈ → 111 011₂ → 111011₂.
Z ósemkowego na dziesiętny i odwrotnie
Konwersja wymaga przeliczenia wag potęgowych o podstawie 8. Przykład:
157₈ = 1·8² + 5·8¹ + 7·8⁰ = 1·64 + 5·8 + 7·1 = 64 + 40 + 7 = 111₁₀.
Zalety i wady
- Zalety:
- Łatwa konwersja z i do systemu binarnego (każda cyfra ósemkowa = 3 bity).
- Krótka notacja w porównaniu do binarnej, co ułatwia czytanie i zapisywanie.
- Użyteczność w systemach operacyjnych do przedstawiania uprawnień plików.
- Wady:
- Mniej intuicyjny dla osób przyzwyczajonych do systemu dziesiętnego.
- Współcześnie rzadziej stosowany niż system szesnastkowy, zwłaszcza w programowaniu niskopoziomowym.
Zobacz też
System dziesiętny, System binarny, System szesnastkowy, Liczba naturalna, Informatyka, Programowanie, Język C, Unix, Linux.
Bibliografia
- Knuth, Donald E. The Art of Computer Programming, Volume 2: Seminumerical Algorithms. Addison‑Wesley, 1997.
- Stallings, William. Computer Organization and Architecture. Pearson, 2020.
- R. M. Davis, Historia systemów liczbowych. Wydawnictwo Naukowe, 2015.