W systemie binarnym, czyli dwójkowym istnieją tylko dwie cyfry (0 i 1). Liczby binarne wyglądają więc trochę dziwnie: 0, 1, 10, 11, 100, 101, 111 itd. Radzę nazywać te kolejne liczby dwójkowe zero, jeden, jeden-zero, jeden-jeden, jeden-zero-zero, jeden-zero-jeden itd., ponieważ np. liczba 1010110 to nie jest jeden milion dziesięć tysięcy sto dziesięć. Dziesiętna wartość powyższej liczby binarnej to 86.
Zamiana liczb binarnych na dziesiętne i odwrotnie podlega tym samym zasadom, które były omówione przy liczbach szesnastkowych. W liczbach binarnych więcej problemu sprawia policzenie pozycji, czyli numeru kolumny, niż same wartości, którymi są tylko 0 i 1. Poniższa tabela przedstawia wartości liczb binarnych do 16 miejsc.
Liczba dwójkowa
Potęga
Dziesiętnie
1
=
20
10
21
2
100
22
4
1000
23
8
10000
24
16
100000
25
32
1000000
26
64
10000000
27
128
100000000
28
256
1000000000
29
512
10000000000
210
1024
100000000000
211
2048
1000000000000
212
4096
10000000000000
213
8192
100000000000000
214
16384
1000000000000000
215
32768
10000000000000000
216
65536 itd.
Można pomyśleć, że przesadziłem z tą tabelą, gdyż takich dużych liczb się nie używa. Niestety jest to błędne rozumowanie. W rzeczywistości procesory, których się obecnie używa posługują się liczbami dwukrotnie większymi.
Po liczbach binarnych dla odróżnienia ich od dziesiętnych należy pisać skrót (bin). Nie jest to tak bezwzględnie konieczne jak pisanie skrótu (hex) po liczbach heksadecymalnych, ponieważ liczby binarne zazwyczaj wyróżniają się swoim wyglądem, jednakże radzę stosować to oznaczenie.
Przekształcanie liczb binarnych na dziesiętne odbywa się w podobny sposób jak w przypadku liczb heksadecymalnych, tylko znacznie prościej. Tutaj nie musisz obliczać wielokrotności wartości poszczególnych kolumn. W liczbach dwójkowych wartość ta albo występuje, albo w ogóle jej nie ma.
Dla przykładu przekształcę prostą liczbę binarną 1010111001(bin) na jej dziesiętny odpowiednik. Zaczynam od prawej strony. Jeśli dana kolumna zawiera 1 to zapisuję wartość danej kolumny. Jeśli występuje tam 0, to pomijam tę kolumnę.
Kolumna nr 0 (skrajna z prawej strony) zawiera cyfrę 1, zapisuję więc 1. Kolumna nr 1 zawiera cyfrę 0, więc ją pomijam. Kolejną także pomijam. Kolumna nr 3 zawiera cyfrę 1, więc zapisuję wartość tej kolumny, czyli 23 = 8. Dwie następne kolumny również zawierają cyfrę 1, zapisuję więc odpowiednio: 24 = 16 i 25 = 32. Kolumnę nr 6 pomijam, gdyż zawiera ona cyfrę 0. Następna kolumna zawiera cyfrę 1, więc zapisuję 27 = 128. Następną kolumnę pomijam. Kolumna nr 9 (pierwsza z lewej) zawiera cyfrę 1, więc zapisuję liczbę 29 = 512. Po zsumowaniu wszystkich zapisanych liczb otrzymuję 697, co jest dziesiętnym odpowiednikiem liczby 1010111001(bin).
Przekształcanie liczb dziesiętnych na dwójkowe wykonujemy dokładnie tak samo jak w przypadku liczb szesnastkowych. W powyższym przykładzie liczenie kolumn zacząłem od zera. Jest to swego rodzaju ułatwienie stosowane przez programistów. Zaczyna się liczyć od bitu zerowego, czyli od zerowej potęgi.
Liczba 218 w systemie dwójkowym będzie przedstawiona jako 11011010(bin). Natomiast w systemie szesnastkowym liczba ta będzie wyglądać następująco: DA(hex). Dwie cyfry heksadecymalne są łatwiejsze do przeczytania czy zapamiętania. Tak więc skrótem systemu binarnego jest właśnie system heksadecymalny.
A(hex) odpowiada 10 dziesiętnie. Po przekształceniu 10 na liczbę binarną otrzymamy 1010(bin). Przyjrzyjmy się jeszcze raz binarnemu odpowiednikowi 218: 11011010(bin). Cztery ostatnie cyfry to: 1010. Jest to właśnie dwójkowy odpowiednik A(hex). Natomiast pierwsze cztery cyfry, czyli górna połowa liczby, równa jest D(hex), co proponuję sprawdzić samemu. Tak więc dwójkowym odpowiednikiem 218 jest:
218
dziesiętnie
1101
1010
dwójkowo
D
A
szesnastkowo
Każdą liczbę dwójkową można przekształcić na liczbę heksadecymalną, która jest krótsza w zapisie. W tym celu należy przekształcać grupy czterech cyfr (grupy te muszą być tworzone od prawego brzegu). Zrobię to na przykładzie zwykłej dwójkowej liczby 32-cyfrowej:
11110000000000001111101001101110
Zacznę od podzielenia jej na grupy 4-cyfrowe:
1111 0000 0000 0000 1111 1010 0110 1110
Komputery pracują, używając jedynie dwóch liczb: 0 i 1.Komputer przetwarza liczby i obrazy w kody składające się z zer i jedynek. Operując tymi kodami, wykonuje obliczenia.Taki kod, który składa się zer i jedynek nazywamy kodem dwójkowym lub binarnym. Wszystkie dane i instrukcje dostarczane są do komputera w postaci liczb dziesiętnych, liter, symboli i znaków. Wszystkim im jest przypisany kod binarny, który generowany jest przez urządzenie wejściowe to znaczy takie przez które wprowadzamy dane. Najczęściej jest to klawiatura, może też nim być skaner czy aparat cyfrowy. Sygnał kodowy nie jest jednak ciągiem liczb, lecz impulsów elektrycznych.Impuls odpowiada 1, jego brak natomiast rejestrowany jest jako 0. Kody przechowywane są w pamięci komputera w postaci sekwencji włączenia i wyłączenia potencjałów elektrycznych lub magnetyzmu.Główny procesor przetwarza sekwencje impulsów elektrycznych, tworząc liczbę binarną, dekoduje ją i przekazuje wynik.Ilość przetworzonych impulsów przez procesor w ciągu sekundy nazywamy taktowaniem i podaje się je w MHz (Mega Hertzach).
System dziesiętny
System binarny
0
0000
0001
0010
3
0011
0100
5
0101
6
0110
7
0111
9
1001
Binarnie
Ósemkowo
Szesnastkowo
00
0x00
01
0x01
02
0x02
03
0x03
04
0x04
Quintus13