Tematem tego artykułu są systemy liczbowe w języku Python 🔢. Zobaczysz w jaki sposób możemy przekonwertować wartość z jednego systemu liczbowego do drugiego, tym samym dotykając systemu dziesiętnego, dwójkowego, ósemkowego i szesnastkowego 😊! Zapraszam do środka po wyjaśnienia 😄!

SYSTEMY LICZBOWE W JĘZYKU PYTHON UZYSKUJEMY POPRZEZ FUNKCJE

Wyjaśnię najpierw o co chodzi, a potem przejdziemy do funkcji 👍!

CZYM JEST SYSTEM LICZBOWY?

System liczbowy to metoda reprezentowania wartości typu całkowitoliczbowego (bez ułamka) uzyskana poprzez stosowanie się do pewnych określonych reguł ℹ️. W informatyce wyróżniamy 4 najbardziej powszechne systemy liczbowe 👇:

  1. dziesiętny (decymalny),
  2. dwójkowy (binarny),
  3. ósemkowy (oktalny),
  4. szesnastkowy (heksadecymalny).

Każdy z nich określa inne znaczenie dla reprezentacji tej samej wartości. Liczby jakie piszemy i odczytujemy na co dzień, interpretujemy w systemie dziesiętnym. Nawet jak powiesz jakąś liczbę na głos np. "pięćdziesiąt tysięcy pięćset pięćdziesiąt pięć" 😝, to zwróć uwagę, że automatycznie myślimy w systemie dziesiętnym 😁! Ta sama liczba będzie wyglądać inaczej w innych systemach 😲.

Zaraz poznasz kształt każdego z wymienionych systemów, jak pokażę Ci poszczególne funkcje do konwersji liczb 🙂.

JAKIE WYSTĘPUJĄ FUNKCJE W JĘZYKU PYTHON DO KONWERSJI NA INNY SYSTEM LICZBOWY?

Python posiada następujące funkcje służące do uzyskiwania liczby w systemie liczbowym jaki nas interesuje 👇:

  • bin (system dwójkowy/binarny),
  • oct (system ósemkowy/oktalny),
  • hex (system szesnastkowy/heksadecymalny).

Nie musimy importować jakichkolwiek modułów ℹ️. Te funkcje są dostępne już od razu. Każda z nich akceptuje liczbę całkowitą w systemie dziesiętnym (jest on "domyślny"). Zobaczmy je w akcji ⏩!

BIN

"bin" zamienia liczbę na system dwójkowy (binarny) 2️⃣. Wynik będzie postaci liczby zamienionej na system dwójkowy z przedrostkiem "0b" (cyfra zero i mała litera 'b' ℹ️) jako oznaczenie tego systemu. To jest przykład 👇:

print(bin(20))

Wynikiem będzie taki ciąg 👇:

0b10100

Przedrostek "0b", a zaraz po nim ciąg zer i jedynek oznaczających liczbę 20 w systemie dwójkowym ✔️. Jeżeli interesuje Cię w jaki sposób odbywa się sama konwersja, przeczytaj artykuł na temat konwersji liczby dziesiętnej na system dwójkowy ℹ️.

Funkcja "bin" w języku Python

Funkcja "bin" konwertuje liczbę w systemie dziesiętnym na liczbę w systemie dwójkowym (binarnym).

OCT

"oct" oznacza konwersję liczby na system ósemkowy (oktalny) 8️⃣. Na wyjściu ujrzysz podaną liczbę zamienioną na system ósemkowy z przedrostkiem "0o" (cyfra zero i mała litera 'o' ℹ️) jako symbol tego systemu. Oto przykładowe użycie 👇:

print(oct(20))

Wynik będzie następującej postaci 👇:

0o24

Po przedrostku "0o" znajduje się ciąg cyfr jako liczba 20 w systemie ósemkowym ✔️. Sam sposób konwersji z systemu dziesiętnego na ósemkowy został opisany w osobnym artykule ℹ️.

Funkcja "oct" w języku Python

Funkcja "oct" konwertuje liczbę w systemie dziesiętnym na liczbę w systemie ósemkowym (oktalnym).

HEX

"hex" konwertuje liczbę na system szesnastkowy (heksadecymalny) 1️⃣6️⃣. Rezultatem będzie liczba zamieniona na system szesnastkowy z przedrostkiem "0x" (cyfra zero i mała litera 'x' ℹ️) charakterystycznym dla tego systemu. A oto prosty przykład użycia 👇:

print(hex(20))

Wynik będzie takiej postaci 👇:

0x14

Najpierw jest przedrostek "0x", a następnie ciąg cyfr, który oznacza liczbę 20 w systemie szesnastkowym ✔️. Zwracam uwagę, że wyjątkowo w tym systemie możesz też natrafić na litery od 'a' do 'f' 😮! One oznaczają liczby od 10 do 15 ℹ️. W tym systemie podstawą jest liczba 16, a ponieważ liczby od 10 do 15 składają się z dwóch cyfr, należało wprowadzić oznaczenie "zajmujące" tylko jeden znak i dlatego są pierwsze litery alfabetu 💡.

W innym materiale opisałem samą metodę konwersji systemu dziesiętnego na szesnastkowy, z którego możesz się dowiedzieć jak samodzielnie wyznaczyć wynik ℹ️.

Funkcja "hex" w języku Python

Funkcja "hex" konwertuje liczbę w systemie dziesiętnym na liczbę w systemie szesnastkowym (heksadecymalnym).

Tak wygląda konwersja liczby dziesiętnej na inne systemy liczbowe w języku Python 🔥! Zanim zakończę materiał, przyjrzyjmy się jeszcze sytuacji, w której mamy liczbę w innym systemie niż dziesiętny i chcemy dokonać konwersji na system dziesiętny 😅!

JAK W JĘZYKU PYTHON SKONWERTOWAĆ LICZBĘ NA SYSTEM DZIESIĘTNY?

Jeżeli mamy sytuację, w której posiadamy liczbę w jakimkolwiek systemie liczbowym innym niż dziesiętny i chcemy ją przekonwertować na ten sam system, należy użyć konstruktora klasy "int" z dodatkowym parametrem określającym podstawę w postaci liczby całkowitej ❤️.

To jest przykład zamiany z systemu dwójkowego na dziesiętny 👇:

print(int(bin(20), 2))

To z kolei przykład ukazujący zamianę z systemu ósemkowego na dziesiętny 👇:

print(int(oct(20), 8))

A tutaj jak zamienić system szesnastkowy na dziesiętny 👇:

print(int(hex(20), 16))

Jak widzisz, w każdym z przykładów wystarczy po prostu wpisać odpowiednią podstawę w drugim parametrze i w taki łatwy sposób Python Ci przekonwertuje liczbę na system dziesiętny 😄!


Tyle w temacie 😄! Zachęcam do nauczenia się samodzielnego wyznaczania liczb na różne systemy liczbowe, bo to jest jeden z fundamentalnych tematów w informatyce, jaki trzeba po prostu znać 🫵! Potem dobrze jest skorzystać z Pythona do sprawdzenia sobie odpowiedzi 👍.

PODOBNE ARTYKUŁY