wydawać się nieco dziwne, dlatego też przy takich informacjach będę
zapisywać oznacznie oryginalności zapisu (<strong>sic/sic!</strong>).
</p>
+ <h1 id="1.5.numbersystems">1.5. Systemy liczbowe</h1>
+ <p>
+ Z systemami liczbowymi, spotykamy się na co dzień licząc lub
+ wykorzystując jego cyfry. Ludzie naturalnie wykorzystują bowiem system
+ dzięsiętny, które podstawą jest liczba 10 oraz znaki od 0-9. W
+ przypadku komputerów, wykorzystywane jest ich znacznie więcej a takimi
+ podstawowymi są: system binarny oraz system heksadecymalny oba te
+ systemy znajdują swoje zastosowanie w sieci.
+ </p>
+ <h2 id="1.5.1.binarynumbersystem">1.5.1. Binarny system liczbowy</h2>
+ <p>
+ Binarny system liczbowy składa się z 1 oraz 0 nazywanych bitami.
+ Adresy protokołu IP zapisem poniękąd binarnym, adres składa się z
+ ciągu 32-bitów podzielonych na cztery sekcje zwane oktetami. Każdy
+ oktet składa się 8 bitów lub jednego 1 bajtu. Jednak ludzie w celu
+ uproszczenia sobie nieco pracy wykorzysują zapis dziesiętny,
+ konwertując poszczególne oktety. Dlatego też adresy IP posiadają
+ zakres wartości od 0 do 255.
+ </p>
+ <p>
+ Binarny system liczbowy podobnie do systemu dziesiętnego jest systemem
+ pozycyjnym. Pozycyjność polega na tym, że cyfry reprezentują wartości
+ na podstawie pozycji, na której się znajdują w sekwencji cyfr (liczbie).
+ Spójrzmy na poniższy przykład, prostą liczbą dzięsiętną, którą możemy
+ rozpatrzyć pod kątem pozyjności może być: 1234.
+ </p>
+<pre class="code-block">
+1 x 10^3 (1000) = 1000
+ +
+2 x 10^2 (100) = 200
+ +
+3 x 10^1 (10) = 30
+ +
+4 + 10^0 (1) = 4
+</pre>
+ <p>
+ Podobnie jest z cyframi binarnymi, tak jak tutaj brano po uwagę potęgę
+ wykładnika jakim jest liczba 2. Rozważmy sobie przykład liczby:
+ 10110010.
+ </p>
+<pre class="code-block">
+1 x 2^7 (128) = 128
+ +
+0 x 2^6 (64) = 0
+ +
+1 x 2^5 (32) = 32
+ +
+1 x 2^4 (16) = 16
+ +
+0 x 2^3 (8) = 0
+ +
+0 x 2^2 (4) = 0
+ +
+1 x 2^1 (2) = 2
+ +
+0 x 2^0 (1) = 0
+ = 178
+</pre>
+ <p>
+ Analizując pozycyjność cyfr binarnych, przypadkiem dowiedzieliśmy się
+ w jaki sposób możemy dokonąć konwersji wstecznej z cyfr binarnych na
+ postać dziesiętną.
+ </p>
+ <p>
+ Konwersji liczb dziesiętnych możemy dokonać w na dwa sposóby. Jednym
+ z nich może być metoda pisemna. Polega ona na dzieleniu liczby przez
+ dwa do momentu uzyskania 0, przyczym wiemy, że nie wszystkie liczby
+ dzielą się na dwie równe częsci. Ta pozostałosc to reszta z dzielenia
+ i przeważnie w wyniku dzielnia przez dwa jej wartość nie będzie
+ wynosić więcej niż 1. Dlatego też reszta z dzielenia albo będzie
+ występować (wówczas, będzie wynosić 1) albo jej nie będzie ponieważ
+ cyfra podzieli się równo. Czy ten schemat nam coś przypomina. Tak,
+ reszta z dzielenia to nasza wartość binarna. Ale tutaj jest pewien
+ haczyk.
+ </p>
+<pre class="code-block">
+178 / 2 = 89 | 0
+89 / 2 = 44 | 1
+44 / 2 = 22 | 0 /\
+22 / 2 = 11 | 0 ||
+11 / 2 = 5 | 1 ||
+5 / 2 = 2 | 1 ||
+2 / 2 = 1 | 0
+1 / 2 = 0 | 1
+</pre>
+ <p>
+ Otóż wartości reszty z dzielnia są odczytywane z dołu do góry.
+ 178<sub>DEC</sub> = 10110010<sub>BIN</sub>.
+ </p>
+ <p>
+ Inny sposóbem jest próba oszacowania. Bierzemy na 178 i sprawdzamy
+ czy jest większe bądź równe 128. No tak. Zatem zapisujemy skranie po
+ lewej
+ stronie 1 i odejmujemy od naszej liczby bazowej 128 (178-128) pozostaje
+ nam 50 itd. tak jak na przykładzie.
+ </p>
+<pre class="code-block">
+178 >= 128 = 1
+178 - 128 = 50
+50 >= 64 = 0
+50 >= 32 = 1
+50 - 32 = 18
+18 >= 16 = 1
+18 - 16 = 2
+2 >= 8 = 0
+2 >= 4 = 0
+2 >= 2 = 1
+2 - 2 = 0
+0 >= 1 = 0
+
+10110010
+</pre>
+ <p>
+ Postać binarna zamienianej liczby powstaje z wyników warunków
+ logicznych jeśli przyjmiemy, że <em>Tak</em> to 1 a <em>Nie</em> to 0.
+ Ta metoda pozwala na przeliczanie liczb w pamięci. Metodę odwrotnej
+ konwersji już poznalismy przy poznawania pozycyjności.
+ </p>
+ <h2 id="1.5.2.hexadecimalnumbersystem">1.5.2. System szesnastkowy</h2>
+ <p>
+ System heksadecymalny w przypadku sieci może przydzać się do
+ zrozumienia IPv6. System ten wykorzysuje jako bazę 16 cyfr 0-9 oraz
+ od A-F. Jedna cyfrę heksadecymalną możemy wyrazić za pomocą 4 binarnych
+ bitów. System ten jest wykorzystywany tak jak wcześniej wspomniano do
+ IPv6 oraz adresów fizycznych.
+ </p>
+ <p>
+ Chcąc skonwertować liczbę dziesiętna na heksadecymalną, możemy posłużyć
+ się metodą pisemną tylko zamiast 2 użyć liczby 16. Raczej nie bedzie
+ takie potrzeby aby to robić. Innym rodzajem konwersji możebyć
+ przeliczenie z systemu binarnego na szesnastkowy. Tutaj nie trzeba
+ nic przeliczać, wystarczy odwołać się do tabelki o poniżej.
+ </p>
+<pre class="code-block">
+0000 = 0
+0001 = 1
+0010 = 2
+0011 = 3
+0100 = 4
+0101 = 5
+0110 = 6
+0111 = 7
+1000 = 8
+1001 = 9
+1010 = A
+1011 = B
+1100 = C
+1101 = D
+1110 = E
+1111 = F
+</pre>
+ <p>
+ Jeśli mamy przeliczyć cyfrę dziesiętna to możemy zrobić to bezpośrednio
+ przez metodę pisemną lub pośrednio, zamienić ją na system binarny bo
+ taki jest prosty do przeliczenia a następnie zgodnie z tablą powyżej
+ zamienić 8 bitów binarnych na dwie cyfry heksadecymalne dające
+ żądana liczbę. Pamiętamy że nasz 178 to 10110010 to chcąc zamienić tę
+ liczbę na system szesnastkowy możey zrobić to tak:
+ </p>
+<pre class="code-block">
+178 = 1011 0010
+ B 2
+178 = B2
+
+B = 1011
+2 = 0010
+B2 = 10110010 = 178
+</pre>
+ <h2 id="ch5summary">Podsumowanie</h2>
+ <p>
+ W tym jakże, krótkim rozdziale poznaliśmy dwa podstawowe system
+ liczbowe wykorzystywane także w sieciach. Nauczyliśmy się konwersji
+ z systemu 10 na binarny oraz z systemu binarnego na szesnastkowym i
+ odwrotnie. Konwersja systemów a w szczególności z dziesiętnego na
+ binarny będzie nam potrzebna do podziału sieci na podsieci oraz
+ metody VLSM.
+ </p>
<h1 id="1.6.datalinklayer">1.6. Warstwa łącza danych</h1>
<p>
Warstwa łącza danych jest pierwszą warstwą, w której możemy spotkać się