Zamiana systemu ósemkowego i dziesiętnego w Pythonie

System ósemkowy to taki system zapisu liczb, w którym używamy tylko ośmiu znaków. Są to cyfry 0, 1, 2, 3, 4, 5, 6, i 7. Poza tym, niczym nie różni się od naszego systemu dziesiątkowego. System oktalny zapisujemy często (np. w kalkulatorach) symbolami OCT. Python pozwala na bardzo łatwą konwersję, niemal bliźniaczą do zamiany z systemu dwójkowego.

Zamiana z dziesiętnego na ósemkowy

Z pomocą przychodzi wbudowana funkcja oct(liczba). Wystarczy, że zamiast zmiennej liczba wpiszemy dowolną liczbę całkowitą i pojawi się wynik.

Kod:

1
oct(100)

Wynik:

1
'0o144'

Zaznaczam, że wartość ta będzie stringiem. Jeśli więc komuś przeszkadza prefiks 0o przed właściwą liczbą w systemie ósemkowym, to może go uciąć kodem, który widać poniżej.

Kod:

1
oct(100)[2:0]

Wynik:

1
'144'

Zamiana z systemu ósemkowego na dziesiętny

Zamiana w drugą stronę jest równie prosta, co DEC na OCT. Wystarczy pamiętać o istnieniu w Pythonie funkcji int(liczba). Zamienia ona dowolnego stringa złożonego z cyfr na liczbę całkowitą oraz o tym, że ma ona opcjonalny parametr, który pozwala wybrać podstawę systemu liczbowego, w jakiej ten string jest zapisany.

I tak, żeby zamienić stringa oct = "13514", wystarczy zadziałać tak jak jest to przedstawione poniżej

Kod:

1
int(oct, 8)

Wynik:

1
5964