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 |