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
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. 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.
Dziesiętny system liczbowy
–
pozycyjny system liczbowy, w którym podstawą pozycji są
kolejne wielokrotności liczby 10;
do zapisu liczb potrzebne
jest w nim 10 cyfr,
którymi są 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Liczby zapisuje się jako ciąg cyfr, z których każda
jest mnożnikiem kolejnej potęgi liczby stanowiącej podstawę systemu, niekiedy
grupowanych po trzy (Okcydent) lub cztery (częśćOrientu). Część
całkowitą i ułamkową oddziela separator dziesiętny.
Przykładowo zapis „645,7” z separatorem dziesiętnym w
postaci przecinka oznacza
Pozycyjny, dziesiętny system liczbowy jest obecnie na
świecie podstawowym systemem stosowanym niemal we wszystkich krajach.
Oryginalnie pochodzi on z Indii, z których przedostał się do Europy za
pośrednictwem Arabów. Od XVI wieku stosowano
go obok systemu rzymskiego, w nauce, księgowościoraz
tworzącej się właśnie bankowości,
gdyż system ten znacznie upraszcza operacje arytmetyczne. W oficjalnych
dokumentach jednak nadal zamieniano liczby w zapisie arabskim na system
rzymski. W końcu, dzięki praktycznym zaletom system rzymski został prawie
zupełnie wyparty na korzyść arabskiego.
Ósemkowy system liczbowy
– pozycyjny
system liczbowy o podstawie 8. System
ósemkowy jest czasem nazywany oktalnym od słowa octal. Do
zapisu liczb używa się w nim ośmiu cyfr, od 0 do 7.
Jak w każdym pozycyjnym systemie liczbowym, liczby zapisuje
się tu jako ciągi cyfr, z których każda jest mnożnikiem kolejnej potęgi liczby
będącej podstawą systemu, np. liczba zapisana w dziesiętnym systemie liczbowym
jako 100, w ósemkowym przybiera postać 144, gdyż:
1×82 + 4×81 + 4×80 =
64 + 32 + 4 = 100.
W matematyce liczby w systemach niedziesiętnych oznacza
się czasami indeksem dolnym zapisanym w systemie dziesiętnym, a oznaczającym
podstawę systemu, np. 1448 = 10010.
Przykład zamiany liczby z systemu dziesiętnego na system
ósemkowy:
- 100/8
= 12 i 4 reszty = 4
- 12/8
= 1 i 4 reszty = 4
- 1/8
= 0 i 1 reszty = 1
Teraz czytamy od dołu: 144 w systemie oktalnym to 100 w
systemie dziesiętnym.
Dwójkowy system liczbowy, system binarny, bin
– pozycyjny system
liczbowy, w którym podstawą jest liczba 2. Do
zapisu liczb potrzebne są tylko dwie cyfry: 0 i 1.
Zmiany systemu
Zamianę z systemu dwójkowego na inny można wykonać
poprzez zapisanie liczby jako sumy potęg liczby 2 pomnożonych przez wartość
cyfry w systemie, na który przekształcamy. Przykładowo przy zamianie
liczby na system dziesiętny:
Zamiana liczby w systemie dziesiętnym na liczbę w
systemie dwójkowym może przebiegać według wyżej opisanej zasady, czyli:
Rozbicie na sumę potęg liczby 2 na przykład
Bądź też przez wyznaczanie reszt w wyniku kolejnych
dzieleń liczby przez 2:
30 ÷ 2 = 15 reszty 0 - 0 to cyfra jedności,
15 ÷ 2 = 7 reszty 1 - 1 to cyfra drugiego
rzędu,
7 ÷ 2 = 3 reszty 1
3 ÷ 2 = 1 reszty 1
1 ÷ 2 = 0 reszty 1
Aby obliczyć wartość dwójkową liczby przepisujemy od
końca cyfry reszt. Tak więc .
Szesnastkowy system liczbowy, system heksadecymalny, hex
– pozycyjny system liczbowy, w którym podstawą jest liczba 16.
Skrót hex pochodzi od angielskiej nazwy hexadecimal.
Do zapisu liczb w tym systemie potrzebne jest szesnaście znaków (cyfr
szesnastkowych).
W najpowszechniejszym standardzie poza cyframi dziesiętnymi
od 0 do 9 używa się pierwszych sześciu liter alfabetu łacińskiego: A, B, C, D, E, F (wielkich
lub małych). Cyfry 0-9 mają te same wartości co w systemie dziesiętnym, natomiast litery
odpowiadają następującym wartościom: A = 10, B = 11, C = 12, D = 13, E = 14
oraz F = 15.
W kalkulatorach naukowych o siedmiosegmentowych
wyświetlaczach LCD stosuje się następujące oznaczenia kolejnych cyfr
szesnastkowych: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, d, E, F (b i d, zamiast
B i D dla rozróżnienia wyświetlania, które wyglądają jak 8 i 0).
Istnieją również projekty ujednolicenia zapisu i
wprowadzenia zupełnie nowych cyfr, przeznaczonych
dla tego systemu.
Jak w każdym pozycyjnym systemie liczbowym, liczby
zapisuje się tu jako ciągi znaków, z których każdy jest mnożnikiem kolejnej
potęgi liczby stanowiącej podstawę systemu. Np. liczba zapisana w dziesiętnym
systemie liczbowym jako 1000, w systemie szesnastkowym przybiera postać 3E8,
gdyż:
Zastosowanie w informatyce
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
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.
Schemat blokowy konwersji liczby dziesiętnej na binarną. |
Brak komentarzy:
Prześlij komentarz