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 |