Liczba to bardzo abstrakcyjna mysl. W odroznieniu do istniejacych fizycznie obiektow, ktore latwo mozna zobaczyc, liczba moze byc reprezentowana roznorako. System, ktorego najczesciej uzywamy to system dziesietny, tj. o podstawie rownej 10 (base 10). Znaczy to tylko i az tyle, ze kazda liczbe mozna przedstawic za pomoca pewnego iloczynu. Przykladowo, liczbe 5346 mozna zapisac tak:
<latex>
5346 = (5 * 1000) + (3 * 100) + (4 * 10) + (6 * 1)
</latex>
lub inaczej:
<latex>
5346 = (5 * 10^3) + (3 * 10^2) + (4 * 10^1) + (6 * 10^0)
</latex>
W powyzszy sposob mozna zapisac kazda liczbe calkowita:
<latex>
$ \begin{equation*}
d_n * d_{n - 1} * … * d_1 * d_0 = \sum_{k=1}^{n} d_k * 10 ^ k
\end{equation*}
</latex>
W systemie dziesietnym mamy wiec 10 roznych cyfr. Nie jest to przypadek, gdybysmy przykladowo mieli tylko 9 cyfr (tj. od 0 do 8), nie byloby jak przedstawic liczb powyzej 88, a najmniejsza trzycyfrowa liczba byloby 100.
System dwojkowy (binarny, base 2) to system, ktorego komputery uzywaja do zapisu liczb w pamieci. Mamy tu tylko dwie cyfry, 0 i 1. Kazda cyfra jest mnozona przez kolejne potegi dwojki, by otrzymac wartosc liczby. Przykladowo liczba 100101:
<latex>
$ \begin{equation*}
100101 = (1 * 2^5) + (0 * 2^4) + (0 * 2^3) + (1 * 2^2) + (0 * 2^1) + (1 * 2^0) = 32 + 4 + 1 = 37
\end{equation*}
</latex>
Pojedyncza cyfre binarna nazywamy bitem, osiem bitow to bajt. Liczba roznych wartosci, jakie pomiescic moze bajt to <latex>2^8 = 256</latex>.