Uczeń poznaje zapis binarny złożony z zer i jedynek

Cel lekcji

Po tej lekcji rozumiesz, dlaczego komputer używa zer i jedynek, odczytujesz proste liczby binarne oraz wiesz, jak w pamięci komputera zapisuje się znaki.

  • odróżniasz system dziesiętny od binarnego,
  • wyjaśniasz, czym są bit i bajt,
  • zamieniasz proste liczby binarne na dziesiętne,
  • tworzysz zapis binarny wybranej liczby dziesiętnej,
  • wiesz, czym jest kodowanie znaków.

Wstęp teoretyczny

Na co dzień korzystamy z systemu dziesiętnego. Ma on dziesięć cyfr: od 0 do 9. Komputery wygodnie rozpoznają dwa stany, na przykład włączony i wyłączony. Dlatego używają systemu binarnego, który ma tylko dwie cyfry: 0 i 1.

Jedna cyfra binarna to bit. Bit ma tylko dwa możliwe stany: 0 albo 1. Osiem bitów tworzy bajt. Komputer zapisuje w bitach liczby, litery, zdjęcia, dźwięki i polecenia programów.

Infografika pokazująca bity 1 i 0 nad wartościami 128, 64, 32, 16, 8, 4, 2 i 1; zapis 10110011 daje liczbę 179
Każda pozycja w zapisie binarnym ma wartość będącą kolejną potęgą liczby 2.

Dalsza część teoretyczna

Wartości pozycyjne

W zapisie dziesiętnym kolejne pozycje mają wartości 1, 10, 100, 1000… W zapisie binarnym wartości podwajają się: 1, 2, 4, 8, 16, 32, 64, 128… Czytając liczbę binarną, dodajesz tylko wartości znajdujące się pod cyfrą 1.

Bit 1 0 1 1 0 0 1 1
Wartość pozycji 128 64 32 16 8 4 2 1
Dodajemy? 128 32 16 2 1

10110011₂ to 128 + 32 + 16 + 2 + 1, czyli 179₁₀. Mały indeks 2 oznacza zapis binarny, a indeks 10 – zapis dziesiętny.

Jak zamienić liczbę dziesiętną na binarną?

Wybieraj od największej możliwej wartości pozycyjnej. Jeśli wartość mieści się w liczbie, wpisz 1 i odejmij ją. Jeśli się nie mieści, wpisz 0.

Przykład dla liczby 45:

  1. Największa wartość, która mieści się w 45, to 32. Zapisz 1 pod 32, a potem oblicz 45 − 32 = 13.
  2. 16 nie mieści się w 13, więc pod 16 zapisz 0.
  3. 8 mieści się w 13. Zapisz 1 i otrzymaj 13 − 8 = 5.
  4. 4 mieści się w 5. Zapisz 1 i otrzymaj 5 − 4 = 1.
  5. 2 nie mieści się w 1, więc zapisz 0. Pod 1 zapisz 1.

Otrzymujesz 00101101₂. Zera na początku nie zmieniają wartości liczby, ale w bajcie często zapisuje się wszystkie osiem miejsc.

Bity, bajty i liczba możliwych zapisów

Jeden bit daje 2 możliwości. Dwa bity dają 4 możliwości: 00, 01, 10 i 11. Osiem bitów daje 256 różnych kombinacji, dlatego jeden bajt może zapisać liczbę od 0 do 255.

Jak komputer zapisuje litery?

Komputer nie przechowuje litery jako rysunku literki. Każdemu znakowi przypisuje kod liczbowy, a ten kod zapisuje w bitach. Taki sposób nazywa się kodowaniem znaków.

ASCII jest starszym zestawem kodów, który obejmuje przede wszystkim litery alfabetu angielskiego, cyfry i znaki interpunkcyjne. Unicode jest znacznie większym standardem: pozwala zapisywać znaki wielu języków, również polskie litery, symbole matematyczne i emoji.

Po co znać system binarny?

System binarny pomaga zrozumieć, jak komputer przechowuje informacje. Dzięki niemu można wyjaśnić działanie pamięci, kolorów obrazu, dźwięku i kodów znaków. Nie musisz wykonywać wszystkich obliczeń w pamięci – najważniejsze jest rozumienie wartości pozycyjnych i sposobu działania bitów.

System dziesiętny, dwójkowy i szesnastkowy

System dziesiętny (DEC) ma podstawę 10 i cyfry 0–9. System dwójkowy (BIN) ma podstawę 2 i cyfry 0 oraz 1. System szesnastkowy (HEX) ma podstawę 16: po cyfrach 0–9 używa liter A, B, C, D, E, F, które oznaczają wartości 10–15. Małe litery a–f znaczą to samo co wielkie A–F.

Liczby od 0 do 15: jedna cyfra HEX odpowiada czterem bitom
System dziesiętny (DEC) System dwójkowy (BIN) System szesnastkowy (HEX)
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

Zera na początku nie zmieniają wartości. Cztery bity mają 16 kombinacji: od 0000 do 1111. Przykład: 1101₂ = 13₁₀ = D₁₆. Indeks dolny wskazuje podstawę systemu.

W HEX kolejne pozycje od prawej mają wartości 1, 16, 256… Dlatego 2F₁₆ = 2 × 16 + 15 = 47₁₀. Dwie cyfry HEX opisują osiem bitów: 0010 1111₂ = 2F₁₆.

Unicode: jak liczby stają się znakami?

Unicode to wspólny standard opisu znaków: liter różnych języków, symboli i emoji. Znak ma numer zwany punktem kodowym. Zapis U+0041 oznacza numer szesnastkowy 0041, przypisany wielkiej literze A. O wyglądzie litery na ekranie decyduje czcionka.

Znak Punkt kodowy Numer dziesiętny
A U+0041 65
a U+0061 97
ą U+0105 261
U+20AC 8364

Starszy standard ASCII obejmuje 128 kodów (0–127). Unicode zachowuje ich numery, a dodatkowo obejmuje m.in. polskie litery. UTF-8 określa sposób zapisania punktów kodowych Unicode w bajtach. Jeden punkt zajmuje w UTF-8 od 1 do 4 bajtów: A zajmuje 1 bajt, a ą – 2. Widoczny znak, np. złożone emoji, może składać się z kilku punktów kodowych.

Ważne: numer znaku i jego zapis w bajtach to różne rzeczy. Numer ą wynosi 261; jego bajty UTF-8 mają wartości szesnastkowe C4 85. Nie zakładaj, że każda litera zajmuje jeden bajt.

Więcej: wprowadzenie do Unicode.

Kalkulator Windows: BIN i HEX na system dziesiętny

  1. Otwórz menu Start, wpisz Kalkulator i uruchom aplikację.
  2. Rozwiń menu ☰ i wybierz Programisty.
  3. Pozostaw rozmiar QWORD, aby dla przykładów z tej lekcji otrzymywać dodatnie wyniki. Wyczyść poprzednią liczbę przyciskiem C.
  4. Z BIN na DEC: najpierw wybierz BIN, potem wpisz 1101. Przy DEC odczytaj 13. Możesz kliknąć DEC, aby pokazać wynik na głównym wyświetlaczu.
  5. Z HEX na DEC: naciśnij C, wybierz HEX i wpisz 2F. Przy DEC odczytaj 47. Litery A–F są dostępne w trybie HEX.

Najpierw wybierasz system liczby wejściowej, a dopiero potem wpisujesz liczbę. Nie wpisuj indeksów ₂, ₁₆ ani oznaczenia U+. Aby przeliczyć U+0041, wybierz HEX i wpisz 0041: DEC pokaże 65.

Sprawdź samodzielnie: przelicz 1010₂, 1111₂, 10000₂ oraz A₁₆, 10₁₆ i FF₁₆. Wyniki do sprawdzenia: 10, 15, 16 oraz 10, 16 i 255.

Pomoc Microsoft: Kalkulator Windows.

Linki do ciekawych stron

Podsumowanie

System binarny używa tylko cyfr 0 i 1. Każda pozycja ma wartość będącą potęgą liczby 2. Bit to jedna cyfra binarna, a bajt składa się z ośmiu bitów. Komputer wykorzystuje bity do zapisywania liczb, znaków i wszystkich innych danych.

Pytania kontrolne

  1. Ile cyfr ma system binarny?
  2. Jakie cyfry występują w zapisie binarnym?
  3. Czym różni się system dziesiętny od binarnego?
  4. Co to jest bit?
  5. Ile bitów tworzy jeden bajt?
  6. Jakie wartości mają kolejne pozycje w ośmiobitowym zapisie binarnym?
  7. Co oznacza cyfra 1 na danej pozycji liczby binarnej?
  8. Na jaką liczbę dziesiętną zamienisz 00001010₂?
  9. Na jaką liczbę dziesiętną zamienisz 00110000₂?
  10. Które wartości dodasz, aby odczytać 10110011₂?
  11. Jaką wartość ma liczba 10110011₂?
  12. Jaki zapis binarny otrzymasz dla liczby 45?
  13. Czy zera na początku zmieniają wartość liczby binarnej?
  14. Ile różnych kombinacji można zapisać w jednym bajcie?
  15. Jaki zakres liczb może opisać jeden bajt bez znaku?
  16. Co to jest kodowanie znaków?
  17. Dlaczego komputer potrzebuje kodowania znaków?
  18. Jaka jest różnica między ASCII a Unicode?
  19. Dlaczego Unicode jest przydatny w języku polskim?
  20. Podaj dwa rodzaje informacji, które komputer może zapisać w bitach.