System liczbowy

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Ujednoznacznienie Ten artykuł dotyczy systemu liczbowego. Zobacz też: system numeryczny w poetyce.
Runiczne cyfry w systemie piątkowym używane w średniowieczu w Skandynawii do zapisu dat

System liczbowy – zbiór reguł jednolitego zapisu i nazewnictwa liczb.

Do zapisywania liczb używa się skończonego zbioru znaków, zwanych cyframi, które można łączyć w dowolnie długie ciągi, otrzymując nieskończoną liczbę kombinacji.

System jedynkowy[edytuj | edytuj kod]

Najbardziej prymitywnym systemem liczbowym jest jedynkowy system liczbowy, w którym występuje tylko jeden znak (np. 1, albo (częściej) pionowa kreska). W systemie tym kolejne liczby są tworzone przez proste powtarzanie tego znaku. Np. 3 w tym systemie jest równe 111, a pięć 11111. Systemem takim posługują się np. Pigmeje[potrzebne źródło]. Kiedy, w przypadku większych liczb, zaczyna się grupować symbole, np. po 5 (cztery równoległe kreski, przekreślone piątą), mamy do czynienia z przejściem do addytywnego systemu liczbowego.

Systemy addytywne i pozycyjne[edytuj | edytuj kod]

Bardziej złożone systemy liczbowe można już podzielić na:

  • Addytywne, w których liczby tworzy się przez dodawanie kolejnych symboli i stąd ich nazwa (np. jeśli "X"=10,"V"=5,"I"=1 to XVI = 10+5+1 = 16). Systemem addytywnym dziesiątkowym był system egipski, w którym używano oddzielnych hieroglifów dla potęg dziesiątki aż do siódmej włącznie. Innym przykładem addytywnego systemu jest dobrze znany i wciąż stosowany rzymski system zapisywania liczb z podstawowymi wielokrotnościami 10 i 5; jego cyfry są I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000; jednak w tym systemie w niektórych przypadkach występuje odejmowanie, a nie tylko dodawanie.
  • Pozycyjne, które posiadają symbole (cyfry) tylko dla kilku najmniejszych liczb naturalnych: 0, 1, 2, ..., g-1, gdzie g to tzw. podstawa systemu, która może być dowolną liczbą naturalną większą niż 1. Cyfry te są kolejno umieszczane w ściśle określonych pozycjach i są mnożone przez odpowiednią potęgę g. W sytuacji, gdy dana potęga nie jest potrzebna do zapisu danej liczby, zostawia się w zapisie puste miejsce, lub częściej specjalny symbol. Współcześnie jest to cyfra 0. Na przykład liczbę 5004,3 w dziesiętnym systemie liczbowym (czyli systemie, którego podstawą jest 10) odczytuje się jako:
5\cdot 10^3+0\cdot 10^2+0\cdot 10^1+4\cdot 10^0+3\cdot 10^{-1}=5\cdot 1000+0\cdot 100+0\cdot 10+4\cdot 1+3\cdot 0{,}1=5004{,}3\;

Sześćdziesiątkowy system liczbowy, stosowany w Mezopotamii, w którym podstawowymi wielokrotnościami były 10 i 60, był częściowo addytywny, częściowo pozycyjny. Jest on najstarszym znanym systemem każdego z tych dwóch rodzajów. W życiu codziennym spotykamy ślady babilońskiego systemu w podziale godziny na 60 minut, a minuty na 60 sekund, oraz w podziale kąta na minuty i sekundy kątowe.

Zaletą systemów addytywnych jest możliwość zapisu nawet dużych liczb (pod warunkiem, że są okrągłe) za pomocą jednego znaku, a wadą złożoność, kłopoty interpretacyjne i zbyt wielka liczba cyfr przy mało okrągłych liczbach, oraz bardzo skomplikowany sposób dokonywania za ich pomocą prostych operacji arytmetycznych, wymagający zapamiętywania długich tabel.

Zaletą systemów pozycyjnych jest ich klarowność, łatwość dokonywania nawet złożonych operacji arytmetycznych oraz możliwość zapisu dowolnie dużej liczby, jednak do zapisu bardzo dużych liczb (nawet okrągłych) jest potrzebna duża liczba cyfr.

Współcześnie powszechnie używany jest system dziesiątkowy. W informatyce czasem stosowany jest system dwójkowy (binarny), ósemkowy i szesnastkowy (heksadecymalny).

Zastosowanie w informatyce[edytuj | edytuj kod]

Z racji reprezentacji liczb w pamięci komputerów za pomocą bitów, najbardziej naturalnym systemem w informatyce jest dwójkowy system liczbowy.

W okresie pionierskich czasów komputeryzacji ważną rolę odgrywał system ósemkowy, który spotyka się niekiedy do dziś.

Natomiast naturalny dla ludzi system dziesiętny został wprowadzony dopiero wraz z powstaniem języków programowania wyższego poziomu, których celem było jak największe ułatwienie w korzystaniu z komputerów.

Ze względu na specyfikę architektury komputerów, gdzie często najszybszy dostęp jest do adresów parzystych, albo podzielnych przez 4, 8 czy 16, często używany jest szesnastkowy system liczbowy. Sprawdza się on szczególnie przy zapisie dużych liczb takich jak adresy pamięci, zakresy parametrów itp. Na przykład:

216 = 6553610 = 1000016
232 = 429496729610 = 10000000016

1000016 i 10000000016 są znacznie łatwiejsze do zapamiętania.

System szesnastkowy często spotykany jest też na stronach WWW (HTML), gdzie stosowany jest do zapisu kolorów.

Przykład konwersji[edytuj | edytuj kod]

Przykład rekurencyjnej funkcji w C/C++, konwertującej liczby naturalne na system trójkowy:

void triple (int liczba)
{ 
     int reszta = liczba %3;
     if(liczba>1) triple (liczba/3);
     cout<<reszta;
     return;     
}

Konwersja części ułamkowej liczby polega na mnożeniu jej przez podstawę nowego systemu i odpisywaniu powstałej części całkowitej.

Niektóre pozycyjne systemy liczbowe[edytuj | edytuj kod]

Inne systemy liczbowe[edytuj | edytuj kod]

Zobacz też[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]

  • Georges Ifrah: Dzieje liczby czyli Historia wielkiego wynalazku. Wrocław: Zakład Narodowy im. Ossolińskich, 1990. ISBN 83-04-03218-X.

Linki zewnętrzne[edytuj | edytuj kod]