Jason. Cała informatyka w jednym miejscu!

Znowu Python, tylko teraz w odświeżonym stylu strony głównej! Sprawdzimy sobie dzisiaj co w trawie piszczy i jak wygląda konwertowanie na inne systemy liczbowe. Język ten doskonale Was wyręczy od ręcznego obliczania, co nie znaczy że nie powinniście umieć robić tego samodzielnie :). Tędy proszę do wyjaśnień!

SYSTEMY LICZBOWE W PYTHONIE I ICH FUNKCJE

Funkcje, nie metody. Przypominam o tej samej różnicy. Zatem są one niezależne od importowanych modułów. W Pythonie występuje wsparcie dla systemu dziesiętnego, ale także dla binarnego, ósemkowego zwanego "oktalnym" oraz heksadecymalnego (szesnastkowego). Mimo wszystko, gorąco zachęcam Was do samodzielnego nauczenia się konwersji na binarny, ósemkowy i szesnastkowy, aby Python posłużył Wam tylko do sprawdzenia sobie odpowiedzi czy wynik się zgadza.

Oto funkcje zwracające łańcuch znaków poprzez podaną w parametrze liczbę w systemie dziesiętnym na jej odpowiednik w innym systemie liczbowym:

bin()

"bin" to skrót od "binary", czyli konwersja na system binarny. Zgodnie z naturą systemu dwójkowego, zwraca ciąg bitów zerojedynkowych według zasad konwersji opisanych w osobnym artykule. Oprócz wyniku, dodaje przedrostek "0b" celem zasygnalizowania, że to jest liczba binarna. Wszystkie funkcje konwertujące na swoje systemy liczbowe dodają swój własny przedrostek.

Funkcja "bin" w Pythonie (systemy liczbowe)

"bin" zwraca tę samą liczbę tylko w systemie dwójkowym (binarnym). Do zwracanego łańcucha znaków dodaje przedrostek "0b".

oct()

Gdy nie interesują Was inne systemy liczbowe niż ósemkowy, to korzystacie z "oct" (od "octal"). Po przyjęciu podanej liczby, zwraca ciąg cyfr przyjmujących wartości od 0 do 7 według reguły "trzymania się" podstawy równej osiem. W tym wypadku też dodaje przedrostek i to jest "0o" (zero i mała litera 'o').

Funkcja "oct" w Pythonie (systemy liczbowe)

Funkcja "oct" konwertuje podaną liczbę na system ósemkowy (oktalny). Dodawany jest na samym początku przedrostek jako "0o".

hex()

Chcecie zamienić na liczbę w systemie heksadecymalnym? To wywołujecie funkcję "hex" (ang. hexadecimal). Podana liczba zamieni się wówczas w ciąg cyfr i potencjalnych liter, gdyż liczby 10-15 przyjmują wówczas formę pierwszych liter alfabetu od A do F. "0x", to jest przedrostek symbolizujący system szesnastkowy.

Funkcja "hex" w Pythonie (systemy liczbowe)

"hex" zwraca łańcuch znaków z przedrostkiem "0x" jako postać tej samej liczby w systemie szesnastkowym (heksadecymalnym).


Tyle, nie ma co się dłużej nad tym rozwodzić. Artykuł stworzony po to, aby uświadomić Wam, że taka możliwość w Pythonie istnieje. Natomiast powtarzam, spróbujcie się tego nauczyć samodzielnie. Systemy liczbowe to taki temat, który spotkacie na każdym kroku. Nie sztuką jest programować, żeby działało, tylko rozumieć co się dzieje "pod maską" ;).

PODOBNE ARTYKUŁY