Informatyka · sprzęt i sieci · lekcja 3

Jak z zer i jedynek zrobić kolor?

Komputer nie potrzebuje osobnej cyfry dla każdego wyniku. Kilka przełączników wystarczy, by zapisać liczbę, a z trzech liczb powstaje kolor ekranu.

  • Zobacz → przewidź → sprawdź
  • Rozszerzenia do wyboru

Po tej lekcji: zamienisz liczby między zapisem dwójkowym i dziesiętnym, poznasz zamiany z HEX oraz zbudujesz kolor RGB.

Zakres podstawowy · materiał otwarty

Miejsce cyfry ma znaczenie

W liczbie 205 dwójka oznacza dwie setki, zero — brak dziesiątek, piątka — pięć jedności. Wagi pozycji to od prawej 1, 10, 100. To system dziesiętny: ma cyfry 0–9.

W systemie binarnym są tylko cyfry 0 i 1. Wagi rosną inaczej: 1, 2, 4, 8, 16…. Jedynka włącza wagę, zero ją pomija. 1011₂ = 8 + 2 + 1 = 11₁₀. Mała dwójka mówi, w jakim systemie czytasz zapis.

Metoda 1 · dodaj wagi

Z dwójkowego na dziesiętny: 1101₂ → ?

1. Podpisz wagi od prawej: 1, 2, 4, 8… Każda kolejna jest dwa razy większa.

2. Zostaw tylko wagi pod jedynkami. Zero oznacza, że tej wagi nie dodajesz.

3. Dodaj: 1101₂ = 1 × 8 + 1 × 4 + 0 × 2 + 1 × 1 = 13₁₀. Czytamy: ta sama liczba ma zapis 1101 w systemie dwójkowym i 13 w dziesiętnym.

Co czytaszLewa pozycja↓↓Prawa pozycja
Cyfra1101
Waga8421
Wkład do sumy8401
Wynik: 8 + 4 + 0 + 1 = 13. Dla dłuższego zapisu dopisuj wagi 16, 32, 64… z lewej strony.

Metoda 2 · dziel i zapisuj reszty

Z dziesiętnego na dwójkowy: 25₁₀ → ?

1. Podziel liczbę przez 2. Zapisz całkowity iloraz i resztę 0 albo 1.

2. Dziel dalej otrzymany iloraz, aż iloraz wyniesie 0.

3. Czytaj reszty od dołu do góry. Pierwsza reszta jest cyfrą najbardziej z prawej — dlatego nie czytamy tabeli od góry.

DzielnaDzielnikIloraz całkowityReszta
252121
12260
6230
3211
1201
Reszty od dołu: 1, 1, 0, 0, 1 → 11001₂. Kontrola: 16 + 8 + 1 = 25.

Sprawdź w działaniu

Zapal bity i zbuduj wynik

Zacznij od sprawdzenia 1011. Potem wyzeruj tablicę i spróbuj uzyskać 42. Przed każdym kliknięciem przewidź, o ile zmieni się wynik.

Ta interakcja wymaga włączonego JavaScriptu.

8 bitów = 1 bajt. Osiem bitów daje 256 różnych układów; jako liczby całkowite bez znaku opisują wartości od 0 do 255.

HEX: krótszy zapis tych samych bitów

System szesnastkowy ma cyfry 0–9 oraz A–F. A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Po F przychodzi 10₁₆, czyli szesnaście.

BIN → HEX: podziel bity na czwórki od prawej. Jeśli ostatnia grupa z lewej jest krótsza, dopisz zera z lewej: 110110₂ → 0011 | 0110 → 3 | 6 → 36₁₆. Zera nie zmieniają wartości.

HEX → BIN: każdą cyfrę zamień na cztery bity: 2D₁₆ → 0010 | 1101 → 101101₂. Przy zapisie samej liczby możesz usunąć zera z lewej.

HEX → DEC: dodaj cyfry pomnożone przez wagi 1, 16, 256… od prawej: 2D₁₆ = 2 × 16 + 13 × 1 = 45₁₀.

DEC → HEX: dziel przez 16, zapisuj reszty i czytaj je od końca. 45 : 16 = 2 reszty 13 (D), potem 2 : 16 = 0 reszty 2, więc wynik to 2D₁₆.

HEXBINDECHEXBINDEC
000000810008
100011910019
200102A101010
300113B101111
401004C110012
501015D110113
601106E111014
701117F111115
Ściąga do czwórek bitów. Najpierw spróbuj wyliczyć wartość z wag 8, 4, 2, 1.

Sprawdź w działaniu

Teraz Ty: przelicz i sprawdź

Wybierz kierunek. Oblicz na kartce, wpisz sam wynik i sprawdź. Każdy kierunek ma sześć przykładów, a pod „?” znajdziesz sposób dojścia do bieżącego wyniku. To ćwiczenie bez punktów, dostępne dla wszystkich.

Ta interakcja wymaga włączonego JavaScriptu.

Nie zgaduj zapisu. BIN → DEC: dodaj wagi. DEC → BIN: dziel przez 2 i czytaj reszty od końca. HEX łącz z czwórkami bitów lub wagami 16.

Sprawdź w działaniu

Mieszalnia światła: RGB

Przesuń suwaki. Najpierw przewidź kolor, potem użyj przycisków R + G oraz Włącz wszystkie. Czy światło zachowuje się jak farby?

Ta interakcja wymaga włączonego JavaScriptu.

W zapisie #RRGGBB para RR opisuje czerwony, GG zielony, BB niebieski. #3366CC to rgb(51, 102, 204).

Zatrzymaj się i pomyśl

Łącz zapisy, nie zgaduj

  1. Który zapis nie pasuje do pozostałych: 15₁₀, 1111₂, F₁₆, 10₁₆? Wyjaśnij różnicę.Nie porównuj wyglądu znaków. Porównaj wartości.
  2. Masz 00001111₂. Ile wyniesie liczba po włączeniu bitu o wadze 16? Sprawdź dopiero po odpowiedzi.Zmieniasz jeden bit. Czy wynik musi wzrosnąć tylko o 1?
  3. Zaprojektuj dwa odcienie niebieskiego: oba z R = 0 i G = 0, ale innym B. Zapisz je jako RGB i HEX.Zmieniaj jasność jednego kanału. Zadbaj o dwie cyfry HEX w każdej parze.
Dla chętnych · po pierwszej stronie

Dzielenie z resztą, znaki i kod Pythona

Rozwiń dodatkowe warsztaty ↓

Większe liczby. Każda kolejna pozycja ma wagę będącą potęgą podstawy. 2F4₁₆ = 2 × 256 + 15 × 16 + 4 = 756₁₀. Dla n bitów istnieje 2ⁿ układów. Zakres bez znaku to od 0 do 2ⁿ − 1. Bajt nie zawsze oznacza liczbę — może być częścią obrazu, dźwięku lub zakodowanego tekstu.

Litera też ma kod. A ma kod Unicode 65, czyli 41₁₆. ASCII obejmuje 128 kodów. Unicode przypisuje punkty kodowe znakom, a UTF-8 jest sposobem kodowania ich na bajty: nie każdy znak zajmuje jeden bajt. Przykładowo A zajmuje w UTF-8 jeden bajt, a ą dwa. Nie myl wartości punktu kodowego z liczbą bajtów pliku.

Sprawdź w Pythonie, jeśli go już znasz

To dodatkowa droga sprawdzenia. Do zrozumienia przełączników nie musisz znać programowania.

zapisy.pypython
print(int("1011", 2))
print(format(11, "b"))
print(format(11, "X"))
print(ord("A"))
print(len("ą".encode("utf-8")))
Wynik
11
1011
B
65
2

Podsumowanie

Trzy rzeczy na wynos

  1. Wartość pozycji zależy od podstawy: w binarnym wagi podwajają się.
  2. Cztery bity odpowiadają jednej cyfrze HEX; bajt ma osiem bitów.
  3. RGB opisuje trzy kanały światła. Zapis liczby i jej wartość to różne rzeczy.

Po zalogowaniu zobaczysz dodatkowe lekcje i materiały oznaczone jako rozszerzenie. Podstawowe quizy i zadania pozostają dostępne w biurku.

Dalej na swoim koncie

Rozgrzewki, quiz i zadania są w biurku ucznia.

Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.

Zaloguj się →
Źródła i dalsza nauka