Dlaczego dwójkowy?

🎯 Po co Ci to?

Dlaczego komputery uparły się na zera i jedynki? Nie z miłości do matematyki. Z tchórzostwa inżynierów — i to bardzo rozsądnego. Rozróżnianie dziesięciu poziomów napięcia w kablu jest trudne: zakłócenia, temperatura, starzenie się części zamieniają „siódemkę" w „ósemkę". Rozróżnić dwa stany — jest prąd / nie ma prądu — potrafi nawet najtańszy, najbardziej zmęczony układ. Cała cyfrowa cywilizacja stoi na tej jednej decyzji: mniej stanów, więcej niezawodności. Reszta jest arytmetyką, którą opanujesz w pół godziny.

✅ Czego się nauczysz

Po tej jednostce potrafisz:

  • wyjaśnić, czym jest bit i bajt oraz dlaczego komputery liczą dwójkowo;
  • odczytać wartość liczby zapisanej binarnie (system dwójkowy → dziesiętny);
  • zapisać liczbę dziesiętną w systemie dwójkowym dwiema metodami.

📘 Wyjaśnienie

📐 DEFINICJA — bit: najmniejsza porcja informacji: jedno rozstrzygnięcie „0 albo 1". Osiem bitów to bajt.

Po ludzku: bit to odpowiedź na jedno pytanie tak/nie; bajt to osiem takich odpowiedzi w paczce. Czym NIE jest: „małą liczbą". Bit nie ma wartości „pół" ani „prawie 1" — to właśnie jego siła.

Jak z samych zer i jedynek zrobić dowolną liczbę? Dokładnie tak samo, jak robisz to na co dzień z cyframi 0–9. W liczbie 352 trójka nie znaczy „trzy" — znaczy „trzy setki", bo stoi na pozycji setek. System dziesiętny jest pozycyjny: wartość cyfry zależy od miejsca, a pozycje to kolejne potęgi dziesiątki: $10^0, 10^1, 10^2, \dots$

System dwójkowy zmienia tylko jedno: potęgi dziesiątki na potęgi dwójki. Pozycje mają wartości $1, 2, 4, 8, 16, 32, 64, 128, \dots$ — a na każdej pozycji stoi 0 lub 1, czyli „bierzemy tę potęgę albo nie".

wagi pozycji (potęgi dwójki)128064032116081412011zapalone: 32 + 8 + 4 + 1 = 45zapis binarny: 00101101₂
Bajt jako osiem szufladek z wartościami 128, 64, 32, 16, 8, 4, 2, 1 — zapalone bity 00101101 dają 32+8+4+1 = 45. · rys. własny

Odczyt (binarny → dziesiętny): zsumuj wartości pozycji, na których stoi 1.

$$101101_2 = 32 + 8 + 4 + 1 = 45$$

(Indeks $_2$ mówi, w jakim systemie czytać zapis — bez niego „101" mogłoby znaczyć sto jeden.)

Zapis (dziesiętny → binarny), metoda 1 — od największej potęgi: znajdź największą potęgę dwójki mieszczącą się w liczbie, odejmij, powtarzaj. Dla 45: mieści się 32 (zostaje 13), potem 8 (zostaje 5), potem 4 (zostaje 1), potem 1 (zostaje 0). Zapalone pozycje: 32, 8, 4, 1 → $101101_2$.

Metoda 2 — dzielenie przez 2: dziel liczbę przez 2, notując reszty; binarny zapis to reszty czytane od końca. Ta metoda jest mechaniczna — czyli idealna dla algorytmu (i na sprawdzian).

🧮 Prześledź

Zamień 45 na system dwójkowy metodą dzielenia — uzupełnij tabelkę, zanim zajrzysz.

działanie wynik reszta
45 : 2 22 ?
22 : 2 ? ?
11 : 2 ? ?
5 : 2 ? ?
2 : 2 ? ?
1 : 2 ? ?
Sprawdź odpowiedź

Reszty kolejno: 1, 0, 1, 1, 0, 1. Czytane od dołu do góry: $101101_2$ — zgadza się z metodą 1. Dlaczego od końca? Pierwsza reszta mówi, czy liczba jest parzysta, czyli opisuje ostatni bit (pozycję jedynek); każde kolejne dzielenie „schodzi" o pozycję wyżej.

💭 Pomyśl: Ile różnych wartości da się zapisać w jednym bajcie (8 bitów)? A jaka jest największa z nich?

Sprawdź odpowiedź

Każdy bit ma 2 możliwości, bitów jest 8, więc kombinacji jest $2^8 = 256$ — od $00000000$ do $11111111$. Największa wartość to $255$ (wszystkie potęgi od 1 do 128 zsumowane), bo jedną z 256 kombinacji zajmuje zero. Te dwie liczby — 255 i 256 — będą Cię odtąd prześladować: limity znaków, poziomy jasności piksela, rozmiary pamięci. Teraz wiesz, skąd się biorą.

⚠️ Uwaga, pułapka

Zapis $10_2$ to dwa, nie dziesięć. Przy konwersjach najczęstszy błąd to zgubienie się, „w którą stronę" właśnie liczysz. Nawyk zawodowca: przy każdej liczbie w notatkach dopisuj system ($45_{10}$, $101101_2$), dopóki konwersje nie wejdą Ci w krew.

🕰️ Skąd to wiemy

Arytmetykę dwójkową opisał Gottfried Wilhelm Leibniz już w 1703 roku — zachwycony, że całą matematykę da się zbudować z „nic" i „coś". Przez dwa stulecia była ciekawostką filozofów. Dopiero w latach 30. XX wieku Claude Shannon zauważył, że algebra zer i jedynek idealnie opisuje obwody z przekaźnikami — i ciekawostka stała się fundamentem epoki. Morał zapamiętaj na całe życie: nie ma „bezużytecznej" matematyki, są tylko pomysły czekające na swój sprzęt.

🛠️ Teraz Ty

Bez komputera: zapisz binarnie liczbę dnia swoich urodzin (1–31) oraz liczbę 100. Potem odczytaj dziesiętnie $11110000_2$ i $1010101_2$. Z komputerem: sprawdź się — w Pythonie bin(45) pokazuje zapis dwójkowy, a 0b101101 wpisane w konsoli — wartość dziesiętną.

📐 Definicje tej lekcji

  • Bit / bajt — jedno rozstrzygnięcie 0/1; paczka ośmiu bitów.
  • System pozycyjny — zapis, w którym wartość cyfry zależy od pozycji (pozycje = potęgi podstawy).
  • System dwójkowy (binarny) — system pozycyjny o podstawie 2, jedyne cyfry: 0 i 1.

📌 Najważniejsze w pigułce

  • Dwa stany zamiast dziesięciu to decyzja inżynierska: prostota = niezawodność.
  • Binarny → dziesiętny: sumuj potęgi dwójki pod jedynkami; dziesiętny → binarny: dziel przez 2, czytaj reszty od końca.
  • $n$ bitów = $2^n$ kombinacji; bajt = 256 wartości (0–255).

🎒 Zadania

  1. Zamień na system dziesiętny: $1000_2$, $1111_2$, $10000000_2$.
Wskazówka i odpowiedź

$1000_2 = 8$; $1111_2 = 8+4+2+1 = 15$; $10000000_2 = 128$. Warto zapamiętać wzorzec: sama jedynka z zerami to czysta potęga dwójki, a same jedynki to potęga dwójki minus 1 (np. $1111_2 = 16 - 1$). Ten drugi trik oszczędza mnóstwo liczenia.

  1. Zamień 77 na system dwójkowy oboma poznanymi sposobami i sprawdź, czy wyniki się zgadzają.
Wskazówka i odpowiedź

Od największej potęgi: $77 = 64 + 8 + 4 + 1$ → $1001101_2$. Dzieleniem: reszty 1, 0, 1, 1, 0, 0, 1 czytane od końca → $1001101_2$. Zgoda. Jeśli metody dają różne wyniki, błąd jest niemal zawsze w gubieniu reszty albo w czytaniu reszt „od góry".

  1. Na ilu bitach da się zapisać numer ucznia w dzienniku (1–36)? A numer PESEL-owego dnia roku (1–366)?
Wskazówka i odpowiedź

Potrzeba tylu bitów $n$, żeby $2^n \ge$ liczba możliwości. Dla 36: $2^5=32$ za mało, $2^6=64$ wystarcza → 6 bitów. Dla 366: $2^8=256$ za mało, $2^9=512$ wystarcza → 9 bitów. To pytanie — „ile bitów na tyle możliwości" — dostanie w jednostce 2.7 własne narzędzie matematyczne.

🔍 Sprawdź, czy umiesz

  • Wyjaśnić bratu/siostrze, dlaczego komputer woli dwa stany od dziesięciu.
  • Przejść między zapisem binarnym a dziesiętnym w obie strony bez ściągi.
  • Powiedzieć bez liczenia, ile wartości mieści 10 bitów.

Ucz się tej jednostki z asystentem