Każdy smartfon, laptop i serwer wykonuje operacje na danych zapisanych jako zera i jedynki. Pokażę, jak działa system binarny, skąd biorą się wartości poszczególnych pozycji, jak przeliczać liczby oraz w jaki sposób ten zapis służy do przechowywania tekstu, zdjęć i dźwięku.
Najważniejsze informacje o zapisie binarnym
- Dwie cyfry, 0 i 1, wystarczają do zapisu każdej informacji cyfrowej.
- Każda pozycja ma wartość wynikającą z kolejnej potęgi liczby 2.
- 8 bitów tworzy bajt, który może przechować 256 różnych kombinacji.
- Liczbę dziesiętną zamienisz na binarną przez dzielenie przez 2 i zapisywanie reszt.
- Tekst, grafika i dźwięk nie są zerami i jedynkami same w sobie, lecz zakodowanymi wartościami.
Na czym polega system binarny
System binarny, nazywany też dwójkowym, ma podstawę równą 2. Oznacza to, że używa wyłącznie cyfr 0 i 1, a znaczenie każdej cyfry zależy od jej położenia. Dla porównania system dziesiętny korzysta z dziesięciu cyfr, od 0 do 9.
W zapisie dziesiętnym liczba 572 oznacza 5 setek, 7 dziesiątek i 2 jedności. W zapisie binarnym działamy tak samo, ale zamiast potęg liczby 10 stosujemy potęgi liczby 2.
| Pozycja | Potęga liczby 2 | Wartość |
|---|---|---|
| od prawej | 20 | 1 |
| druga | 21 | 2 |
| trzecia | 22 | 4 |
| czwarta | 23 | 8 |
| piąta | 24 | 16 |
Weźmy liczbę 1011. Czytamy ją od prawej strony: 1 razy 1, 1 razy 2, 0 razy 4 oraz 1 razy 8. Po dodaniu tych wartości otrzymujemy 11 w systemie dziesiętnym. Zero oznacza, że danej potęgi nie wykorzystujemy, a jedynka, że ją dodajemy.
To właśnie pozycyjność sprawia, że krótki ciąg bitów może opisywać różne liczby. Sama jedynka nie ma zawsze tej samej wartości. W zależności od miejsca może oznaczać 1, 2, 4, 8 albo znacznie większą potęgę liczby 2.
Dlaczego komputery używają zer i jedynek
Elektronika cyfrowa najlepiej radzi sobie z rozróżnianiem dwóch stanów. W układzie może to być na przykład niski i wysoki poziom napięcia, brak i obecność sygnału albo wyłączenie i włączenie tranzystora. Stanom tym przypisuje się wartości 0 i 1.
Nie oznacza to, że wewnątrz każdego komputera płynie wyłącznie idealne zero lub idealna jedynka. Fizyczne sygnały mają określone zakresy napięć, ale układ elektroniczny interpretuje je jako jeden z dwóch stanów. Taki model jest odporniejszy na niewielkie zakłócenia niż system wymagający rozpoznawania wielu dokładnych poziomów.
Bit, bajt i większe jednostki
Bit to najmniejsza jednostka informacji i może przyjąć wartość 0 albo 1. Osiem bitów tworzy bajt, czyli zestaw pozwalający zapisać 256 kombinacji, od 00000000 do 11111111.
| Jednostka | Liczba bitów | Liczba możliwych kombinacji |
|---|---|---|
| bit | 1 | 2 |
| bajt | 8 | 256 |
| kilobajt | około 1000 bajtów | zależnie od przyjętego przelicznika |
| megabajt | około 1 000 000 bajtów | zależnie od przyjętego przelicznika |
W praktyce spotkasz też przedrostki binarne, takie jak KiB, MiB i GiB. Jeden KiB to dokładnie 1024 bajty, podczas gdy producenci nośników często stosują dziesiętne kilobajty i gigabajty. Ta różnica potrafi wyjaśnić, dlaczego dysk opisany jako 500 GB ma w systemie operacyjnym nieco inną deklarowaną pojemność.
Jak przeliczać liczby dziesiętne na binarne
Najprostsza metoda polega na wielokrotnym dzieleniu liczby przez 2. Przy każdym dzieleniu zapisujemy resztę, czyli 0 albo 1, a na końcu odczytujemy reszty od dołu do góry.
Przykład z liczbą 25
- 25 podzielone przez 2 daje 12 i resztę 1.
- 12 podzielone przez 2 daje 6 i resztę 0.
- 6 podzielone przez 2 daje 3 i resztę 0.
- 3 podzielone przez 2 daje 1 i resztę 1.
- 1 podzielone przez 2 daje 0 i resztę 1.
Reszty odczytane od końca tworzą zapis 11001. Oznacza to, że 25 w systemie dziesiętnym jest równe 11001 w systemie binarnym. Dobrze jest od razu sprawdzić wynik, dodając wykorzystane potęgi: 16 + 8 + 1 = 25.
Przy zamianie binarnego na dziesiętny postępuję odwrotnie. Dla liczby 11001 przypisuję pozycjom wartości 16, 8, 4, 2 i 1, a potem dodaję tylko te, przy których występuje jedynka. Wynik to 16 + 8 + 1, czyli 25.
Ułamki i liczby ujemne
Po przecinku również działają potęgi liczby 2, ale z ujemnymi wykładnikami. Pierwsza pozycja po przecinku oznacza 1/2, druga 1/4, trzecia 1/8. Zapis 0,101 w systemie binarnym ma więc wartość 1/2 + 1/8, czyli 0,625 dziesiętnie.
Liczby ujemne wymagają ustalonego sposobu kodowania. W komputerach często stosuje się kod uzupełnień do dwóch, ponieważ pozwala wykonywać dodawanie liczb dodatnich i ujemnych za pomocą podobnych operacji sprzętowych. Dla 8-bitowej liczby ze znakiem zakres wynosi od -128 do 127, a nie od 0 do 255.
Jak z bitów powstaje tekst, obraz i dźwięk
Komputer nie przechowuje słowa, zdjęcia ani piosenki w znaczeniu, jakie nadaje im człowiek. Zapisuje ciągi liczb, a odpowiedni program interpretuje je według konkretnego formatu. To ważne rozróżnienie, bo te same bity mogą oznaczać różne rzeczy zależnie od użytego standardu.
Tekst
Znaki są przypisywane liczbom za pomocą kodowania. W prostych przykładach można użyć ASCII, gdzie wybrane litery, cyfry i znaki mają konkretne wartości. Współczesne programy korzystają przede wszystkim z Unicode, a popularne kodowanie UTF-8 zapisuje znak za pomocą od jednego do czterech bajtów.
Dlatego polskie znaki, takie jak ą, ł czy ź, mogą zajmować więcej miejsca niż podstawowe litery alfabetu łacińskiego. Gdy program błędnie odczyta kodowanie, zamiast tekstu pojawiają się przypadkowe symbole. Problem nie leży wtedy w samych bitach, lecz w niezgodności sposobu ich interpretacji.
Obrazy
Zdjęcie cyfrowe jest siatką pikseli. Każdy piksel ma wartości opisujące kolor, często dla kanałów czerwonego, zielonego i niebieskiego. Przy 8 bitach na kanał pojedynczy kanał może przyjąć 256 poziomów jasności, a połączenie trzech kanałów daje ponad 16,7 miliona możliwych kolorów.
Format pliku dodaje do tego informacje o rozdzielczości, kompresji i sposobie odczytu danych. Dwa pliki zawierające podobne zdjęcie mogą mieć zupełnie inny układ bitów, ponieważ PNG przechowuje dane inaczej niż JPEG.
Przeczytaj również: IP na binarny: Opanuj konwersję i zrozum działanie sieci!
Dźwięk
Dźwięk jest falą analogową, więc komputer musi ją zmierzyć wiele razy na sekundę. Częstotliwość próbkowania mówi, ile pomiarów wykonuje w ciągu sekundy, a głębia bitowa określa dokładność każdego pomiaru.
Im wyższa precyzja, tym wierniejszy zapis, ale też większy plik. W tym miejscu widać praktyczny kompromis, który często umyka w uproszczonych wyjaśnieniach systemu binarnego: więcej bitów nie zawsze oznacza zauważalnie lepszy efekt, jeśli ograniczeniem jest jakość źródła, sprzętu albo kompresji.

Jak komputer wykonuje operacje binarne
Procesor korzysta z układów logicznych, które wykonują operacje na bitach. Najprostsze z nich to AND, OR i NOT, a także XOR. Działanie bramki AND można opisać tak: wynik wynosi 1 tylko wtedy, gdy oba wejścia mają wartość 1.
| A | B | A AND B | A OR B | A XOR B |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Z takich prostych reguł buduje się bardziej złożone układy, między innymi sumatory, rejestry i jednostki arytmetyczno-logiczne. Procesor może dzięki nim dodawać liczby, porównywać wartości, przesuwać bity oraz sprawdzać warunki zapisane w programie.
Przesunięcie bitów w lewo o jedną pozycję zwykle odpowiada pomnożeniu liczby przez 2, a przesunięcie w prawo jej dzieleniu przez 2, z uwzględnieniem rodzaju liczby i sposobu obsługi znaku. To nie tylko ciekawostka matematyczna. Takie operacje są użyteczne w programowaniu, sterownikach i systemach wbudowanych.
Typowe błędy w rozumieniu zapisu binarnego
Początkujący często traktują ciąg 101 jako „sto jeden”, bo odczytują go jak zwykły zapis dziesiętny. Tymczasem 101 w systemie binarnym oznacza 5 dziesiętnie, ponieważ składa się z 4 + 0 + 1.
- Brak określenia podstawy może prowadzić do pomyłki. Zapis 10 oznacza dwa w systemie binarnym, ale dziesięć w dziesiętnym.
- Bit i bajt to nie to samo. Mała litera b zwykle oznacza bit, a duża B bajt.
- Zero z lewej strony nie zmienia wartości liczby, ale może mieć znaczenie w pamięci, protokole lub formacie danych.
- Ta sama liczba bitów może przechowywać liczbę bez znaku, liczbę ze znakiem, znak tekstowy albo fragment obrazu.
Nie każdy ciąg zer i jedynek jest więc „liczbą” w praktycznym sensie. Bez informacji o formacie, długości pola i kolejności bajtów nie da się zawsze poprawnie określić, co oznacza dany zapis.
Drugie częste nieporozumienie dotyczy pamięci. Osiem bitów daje 256 kombinacji, ale to nie znaczy, że zawsze zapisuje liczby od 0 do 255. Jeśli jeden bit zarezerwowano na znak albo zastosowano inny typ danych, dostępny zakres będzie inny.
Najprostszy sposób, by naprawdę zrozumieć bity
Najlepiej zacząć od krótkich zapisów, takich jak 1, 10, 11, 100 i 101, a potem samodzielnie zamieniać liczby od 0 do 31. W tym zakresie szybko widać rytm: ostatni bit zmienia się przy każdej liczbie, kolejny co dwie liczby, a następny co cztery.
Moim zdaniem nie ma sensu zapamiętywać długich tabel. Wystarczy znać pierwsze potęgi liczby 2, rozumieć pozycję cyfry i umieć wykonać kontrolne dodawanie. Ta metoda działa zarówno przy zadaniach szkolnych, jak i przy czytaniu podstawowych informacji o pamięci, adresach czy kodowaniu danych.
Gdy opanujesz liczby, przejdź do przykładu z tekstem lub pikselem. Wtedy widać najważniejszą rzecz: system binarny nie jest osobnym językiem komputerów, lecz sposobem zapisu stanów, z których programy budują liczby, znaki, obrazy i dźwięki.
To wystarczy, by swobodnie rozumieć większość podstawowych wyjaśnień dotyczących pamięci, procesorów i plików. Bardziej zaawansowane tematy, takie jak liczby zmiennoprzecinkowe, kodowanie znaków czy kompresja, rozwijają te same zasady, ale nie zmieniają fundamentu: każda informacja jest ostatecznie reprezentowana przez uporządkowany ciąg bitów.