Systemy liczbowe - co to znaczy?
System liczbowy to sposób zapisu liczb przy użyciu określonej ilości symboli. Codziennie używamy systemu dziesiętnego (10 cyfr 0-9), ale informatyka opiera się na binarnym (0, 1), ósemkowym (0-7) i szesnastkowym (0-9, A-F).
Cztery najpopularniejsze systemy
- Binarny (podstawa 2) - używa cyfr 0 i 1. Język komputerów
- Ósemkowy (podstawa 8) - cyfry 0-7. Stary standard Unixa
- Dziesiętny (podstawa 10) - cyfry 0-9. Codzienny użytek
- Szesnastkowy (podstawa 16) - 0-9, A-F (gdzie A=10, F=15). Kolory CSS, adresy MAC
Jak to działa?
Każda pozycja cyfry to potęga podstawy. Liczba 234 w systemie dziesiętnym to: 2·100 + 3·10 + 4·1 = 2·10² + 3·10¹ + 4·10⁰.
W systemie binarnym 1010 to: 1·8 + 0·4 + 1·2 + 0·1 = 1·2³ + 0·2² + 1·2¹ + 0·2⁰ = 10 dziesiętnie.
Dlaczego komputery używają binarnego?
Tranzystor ma tylko dwa stany: jest prąd (1) lub nie ma (0). Każda informacja w komputerze - tekst, obraz, dźwięk - to ciąg zer i jedynek. Bity grupowane w bajty (8 bitów), kilobajty (1024 bajty) itd.
Jak zapisać 255 w różnych systemach?
- Dziesiętnie: 255
- Binarnie: 11111111 (8 jedynek)
- Ósemkowo: 377
- Szesnastkowo: FF
HEX w stronie internetowej
Kolory CSS zapisuje się w HEX-ie: #FF0000 = czerwony. Każde 2 znaki to jedna składowa RGB (0-255 dziesiętnie):
- FF = 255 (max czerwieni)
- 00 = 0 (brak zieleni)
- 00 = 0 (brak niebieskiego)
Stąd #00FF00 to czysta zieleń, #0000FF to niebieski, #FFFFFF biały (max wszystkich), #000000 czarny (zero wszystkich).
Konwersja przez system dziesiętny
Najprostszy sposób przeliczania: zamień na dziesiętny, potem na docelowy. W tym kalkulatorze wpisujesz w dowolnym polu - reszta przelicza się automatycznie. Wszystkie cztery pola pokazują tę samą liczbę w różnych systemach.
Algorytmy konwersji
Z dziesiętnego na binarny: dziel przez 2 i zapisuj reszty. Liczba 13: 13/2=6 r1, 6/2=3 r0, 3/2=1 r1, 1/2=0 r1. Czytamy od dołu: 1101. Z binarnego na dziesiętny: mnożymy każdą cyfrę przez 2^pozycja i sumujemy.
Inne systemy
Istnieje też 12-kowy (popularny w UK - tuziny), 60-kowy (godziny i minuty - 60 sekund w minucie), Mayowie używali 20-kowego. JavaScript radzi sobie z każdą podstawą od 2 do 36 - parseInt(x, base) i toString(base).