Brojevni sustav je zajednički naziv za skup pravila pomoću kojih se jednoznačno zapisuju brojevi. Pravila opisuju kako se brojevi zapisuju (znamenke), kao i kako se zapis jednoznačno tumači. Važno svojstvo brojevnog sustava je mogućnost zapisa svih (ili barem prirodnih) brojeva.
| Naziv | binarni | oktalni | dekadski | heksadekadski | seksagezimalni |
|---|---|---|---|---|---|
| Baza | 2 | 8 | 10 | 16 | 60 |
Pošto većina svijeta danas koristi pozicijski brojevni sustav, uz brojevni sustav usko se veže pojam baze brojevnog sustava. Baza brojevnog sustava je vrijednost koja se pridružuje pojedinoj znamenki u pozicijskom brojevnom sustavu, ovisno o njenom položaju u zapisu.
Danas najrašireniji brojevni sustav zapisuje je pozicijski, zapisuje se pomoću "arapskih" znamenaka, a baza mu je 10 (dekadski brojevni sustav).
Označavanje
Za predstavljanje prvih 10 znamenaka uzimaju se znakovi: '0','1','2','3','4','5','6','7','8','9' Neki brojevne baze s više od deset znamenaka, uzimaju velika slova engleske abecede za predstavljanje znamenaka: 'A','B','C','D','E','F'... Tako 'A' predstavlja znamenku '10', 'B' -> '11', C -> '12', ..., dok je 'Z' znamenka '36'. Dalje se obično uzimaju mala slova engleske abecede: 'a' -> '37', 'b' -> '38', ..., 'z' -> '62'.
Povijest
Pretvorba brojeva između brojevnih sustava
Čovjeku je najlakše vršit pretvorbu između baza tako da se prvo broj kojeg pretvaramo, zapiše kao dekadski broj (uzmimo na primjer broj 100110101 s bazom 2). Njega pretvaramo u dekadski broj na sljedeći način:
100110101(2) = 1*2^0 + 0*2^1 + 1*2^2 + 0*2^3 + 1*2^4 + 1*2^5 + 0*2^6 + 0*2^7 + 1*2^8 =
= 1 + 0 + 4 + 0 + 16 + 32 + 0 + 0 + 256 =
= 309(10)
Dakle gledali smo znamenke od zadnje prema prvoj, množeći znamenku s i-tom potencijom baze broja iz kojeg pretvaramo, ako je 'i' mjesto znamenke odozada, krenuvši brojanje od nule. Isto tako možemo uzeti i broj s bazom većom od 10, npr. heksadekadska baza:
6CA8(16) = 8*16^0 + 10*16^1 + 12*16^2 + 6*16^3 =
= 8 + 160 + 3072 + 24576
= 27816(10)
Nakon toga, dobiveni dekadski broj možemo dijeliti s bazom u koju ga želimo pretvoriti dok rezultat dijeljenja ne bude 0 i promatrati svaki put ostatak dijeljenja. Nizanjem ostataka djeljenja s desna na lijevo u obliku odgovarajućih znamenki, dobivamo broj koji smo tražili. Na primjer pretvorba broja iz dekadske u oktalnu bazu bi izgledala ovako:
OSTATAK
27816 / 8 = 3477 0
3477 / 8 = 434 5
434 / 8 = 54 2
54 / 8 = 6 6
6 / 8 = 0 6
27816(10)=66250(8)
Pretvorba tog broja u natrag heksadekadsku bazu:
OSTATAK
27816 / 16 = 1738 8
1738 / 16 = 108 10
108 / 16 = 6 12
6 / 16 = 0 6
27816(10)=6CA8(16)