Zamiana systemu binarnego i dziesiętnego w Pythonie

Zamiana systemu binarnego na dziesiętny i dziesiętnego na binarny to częsty problem, w szczególności w zadaniach spotykanych na maturze i na różnego rodzaju konkursach. Python pozwala na bardzo łatwą konwersję, ale żeby jej używać należy się lekko wgryźć w dokumentację, żeby poznać dodatkowe możliwości niektórych funkcji.

Zamiana z dziesiętnego na binarny

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

Kod:

1
bin(10)

Wynik:

1
'0b1010'

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

Kod:

1
bin(10)[2:0]

Wynik:

1
'1010'

Zamiana z systemu binarnego na dziesiętny

Zamiana w drugą stronę jest równie prosta, co DEC na BIN. Wystarczy pamiętać o istnieniu w Pythonie funkcji int(liczba), która zamienia 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 bin = "1011", wystarczy zadziałać tak jak jest to przedstawione poniżej

Kod:

1
int(bin, 2)

Wynik:

1
11