encyklopedia.run.place

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:

  1. Podziel ciąg binarny na grupy po trzy bity, zaczynając od najniższego (prawego) końca.
  2. Uzupełnij brakujące bity po lewej stronie zerami.
  3. 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:

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.