Do tej pory zawsze pisaliśmy:

...
int Liczba=
20
;
...

W tej lekcji omówimy sobie różne systemy zapisywania liczb.

System dziesiątkowy (liczby arabskie)

Ten system jest ci znany już od przedszkola mam nadzieje. Cyfry w tym systemie mają zakres od 0 do 9. Mamy 10 podstawowych cyferek, dlatego nazywa się go systemem dziesiętnym. Liczbę 11 tworzy się już z dwóch cyferek.

W kompilatorze system ten zapisuje się najzwyczajniej:

...
int Liczba=
20
;
...

System szesnastkowy

Często wykorzystuje się go w grafice, np. do zapisywania wartości kolorów. W systemie tym zakres cyferek jest większy, gdyż jest ich aż szesnaście i dopiero liczba 17 w tym systemie jest pierwszą liczbą dwucyfrową. W zapisie przyjęło się, że cyfry od 0 do 9 zapisuje się zwyczajnie natomiast kolejne od A do F. Tak, więc cyfra A to arabskie 10, cyfra B to 12 itd., aż do 16, bo 16 to cyfra F. Dalej tak jak każdym systemie liczb, dokładamy jedność i mamy już dwie cyfry, liczba 10 w systemie szesnastkowym to 17 w systemie dziesiętnym. Jak widać w systemie szesnastkowym w dwóch cyfrach możemy pomieścić znacznie więcej liczb, a dokładniej w systemie szesnastkowym w liczbach do dwóch cyfr możemy pomieścić 255 kombinacji cyfr. Liczba FF w systemie szesnastkowym to liczba 255 w dziesiętnym.

W edytorze wartość szesnastkową zaznacza się poprzez dodanie 0x na początku liczby:

...
int Liczba=
0x20
;
...

System ósemkowy

Jak się pewnie domyślacie zakres cyfr w tym systemie wynosi od 0 do 8. W edytorze system zapisujemy poprzez dodanie 0 na początku liczby.

...
int Liczba=
028
;
...

W tym miejscu zwracam uwagę, bo czasem zdarza się, że naciśnie się 0 na początku całkiem niechcący, należy zwrócić na to uwagę, gdyż kompilator liczbę z 0 na początku potraktuje jak zapis w systemie ósmekowym, a liczby w systemach dziesiątkowym i szesnatkowym mają oczywiście inne wartości.

System dwójkowy (binarny)

Jest to podstawowy system liczb w informatyce. Wszystkie dzisiejsze maszyny cyfrowe pracują na zasadzie tego systemu. System składa się z dwóch cyfr 0 lub 1. Dlaczego właśnie tak? Każdą cyfrę maszyna musi jakoś rozróżniać. Reprezentacja dwóch znaków jest bardzo prosta, gdyż można ją reprezentować np. poprzez przepływ prądu w układzie(procesorach), jeżeli prąd przepływa to mamy bit zapalony(1), jeżeli nie to mamy bit zgaszony(0). W rzeczywistości, gdy piszemy:

...
int Liczba=
20
;
...

to zapisujemy wartość zmiennej w systemie dziesiątkowym. Jednak, wszystkie maszyny pracują na kodzie binarnym(systemie dwójkowym) i nie rozumieją systemu dziesiętnego, dlatego podczas kompilacji wartość takiej zmiennej konwertowana jest do postaci binarnej i kodzie maszynowym jest ona zapisana jako ciąg zer i jedynek.

KONWERSJA WARTOŚCI POMIĘDZY SYSTEMAMI LICZBOWYMI

Zaprezentuję bardzo prosty sposób konwersji pomiędzy systemami, na tyle prosty, że nawet nie musimy nic liczyć.
Otwórzmy Windowsowski Kalkulator i przełączmy na widok Profesjonalny(Naukowy)

Wpiszmy jakąś liczbę, np. 22

Teraz wybierzmy, na jaki system chcemy skonwertować tą wartość:
Hex- szesnastkowy
Dec- dziesiątkowy
Oct- ósemkowy
Bin- dwójkowy

Wartość, która się nam pokaże, będzie odpowiednikiem poprzedniej wartości z poprzedniego systemu liczb.
W przykładzie wartość liczby 22 w systemie szesnastkowym wynosi: 16


Wejść na stronę:     Ilość osób online:
Prawa autorskie © 2008 crayze. Wszelkie prawa zastrzeżone.
crayze7@gmail.com