I Liceum Ogólnokształcące w Jarosławiu - Informatyka

Binarny system liczbowy

Liczby dziesiętne i dwójkowe

Liczby dziesiętne to system liczbowy, którego podstawą jest liczba 10. Składają się z dziesięciu cyfr: 0, 1, 2, 3, 4, 5, 6, 7, 8 i 9. Wartość każdej cyfry zależy od jej pozycji w liczbie, co oznacza, że mamy do czynienia z systemem pozycyjnym.Liczby dwójkowe (binarny system liczbowy) są używane w komputerach, ponieważ bazują na dwóch cyfrach: 0 i 1. Wartość liczb binarnych również zależy od pozycji cyfr, ale zamiast potęg dziesięciu stosuje się potęgi liczby 2. Na przykład liczba 1011 w systemie binarnym to: 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0 = 8 + 0 + 2 + 1 = 11 (w systemie dziesiętnym).

Inne systemy liczbowe

Poza systemem dziesiętnym i binarnym istnieją również inne systemy liczbowe:
Ósemkowy (oktalny, podstawa 8) – używa cyfr 0-7. Każda cyfra oznacza potęgę 8.
Szesnastkowy (heksadecymalny, podstawa 16) – używa cyfr 0-9 oraz liter A-F (gdzie A=10, B=11, ..., F=15). Stosowany w programowaniu i reprezentacji kolorów.
Trójkowy, piątkowy, dwudziestkowy – używane w różnych zastosowaniach teoretycznych i historycznych

Cyfrowy zapis informacji

Komputery zapisują dane cyfrowo, co oznacza, że każda informacja jest przedstawiona jako sekwencja bitów (0 i 1). Główne formy zapisu to:
Liczby – reprezentowane w różnych systemach liczbowych.
Tekst – kodowany za pomocą standardów takich jak ASCII, Unicode.
Dźwięk – cyfrowo przechowywany jako próbki wartości amplitudy w określonych odstępach czasowych.
Obrazy – reprezentowane jako macierz pikseli, gdzie każdy piksel ma określoną wartość koloru.

Jak w komputerze zapisywane są obrazy cyfrowe?

Obrazy cyfrowe są przechowywane jako siatka pikseli, gdzie każdy piksel ma określoną wartość koloru. Istnieją dwa główne sposoby przechowywania obrazów:
Mapy bitowe (bitmapy) – zapis każdej wartości piksela indywidualnie, np. formaty BMP, PNG.
Obrazy wektorowe – zapisane jako zbiór kształtów i linii, które mogą być skalowane bez utraty jakości (formaty SVG, AI).
Kolory są zapisywane najczęściej w systemie RGB (czerwony, zielony, niebieski) lub CMYK (cyjan, magenta, żółty, czarny). Każdy kanał może mieć wartość od 0 do 255 w przypadku 24-bitowych obrazów RGB.

Algorytmy zamiany reprezentacji liczb

Zamiana liczby dziesiętnej na binarną odbywa się poprzez dzielenie przez 2 i zapisywanie reszt:
1. Podziel liczbę przez
2. Zapisz resztę (0 lub 1).
Powtarzaj, aż liczba wyniesie 0.
Ostateczny wynik to zapis reszt w odwrotnej kolejności.
Przykład dla liczby 13:
13 / 2 = 6, reszta 1
6 / 2 = 3, reszta 0
3 / 2 = 1, reszta 1
1 / 2 = 0, reszta 1
Czyli 13 w systemie binarnym to 1101.

Programy zamieniające liczbę dziesiętną na binarną

Istnieje wiele programów do konwersji liczb dziesiętnych na binarne:
Kalkulatory online – wiele stron internetowych oferuje konwertery liczbowe.
Wbudowane funkcje języków programowania:
Python: bin(13) → '0b1101'
JavaScript: (13).toString(2) → '1101'
Programy wiersza poleceń:
W systemie Linux można użyć polecenia bc do konwersji liczb.
Dzięki tym narzędziom można łatwo przeliczać liczby między systemami i analizować ich reprezentację w różnych formatach.

Program w Pythonie do zamiany systemów liczbowych

# Program konwertujący liczbę dziesiętną na inne systemy liczbowe
def convert_number(number):
    binary = bin(number)[2:]
    octal = oct(number)[2:]
    hexadecimal = hex(number)[2:].upper()
    
    return f"Liczba dziesiętna: {number}\nBinarny: {binary}\nÓsemkowy: {octal}\nSzesnastkowy: {hexadecimal}"

# Przykład użycia
number = int(input("Podaj liczbę dziesiętną: "))
print(convert_number(number))