Arkam
Forum friend
- Joined
- Dec 20, 2008
- Messages
- 1,980
- Reaction score
- 180
Witam.
Wpad?em na pomys? aby rozpowszechni? troch? wiedze o systemach binarnych, kt?re czasami mog? si? przyda?.
Zacznijmy od tego co to w og?le jest i do czego s?u?y...
S?u?y on bezpo?rednio do tego aby wyda? komputerowi polecenie, kt?re on zrozumie. Komputer jak wiemy jest maszyn? kt?ra nie ma m?zgu i zrobi wszystko co jej ka?emy, gdy tylko w odpowiedni spos?b jej to 'powiemy'.
Aby owa maszyna zrozumia?a co od niej chcemy musi dosta? ci?g zer i jedynek, kt?ry oznacza i? pr?d p?ynie lub nie... dzi?ki temu mo?emy si? porozumie? z niemy?l?cym komputerem.
Na pocz?tek wyja?ni? jak mo?na przet?umaczy? system dw?jkowy na dziesi?tny i na odwr?t.
System Dw?jkowy
1. Wymy?lmy sobie jak?? liczb?, np 130.
2. Jak znamy matematyk? z podstaw?wki dziel?c nieparzyste liczby otrzymujemy 'reszt?', wi?c podzielmy jako, ?e to jest system dw?jkowy nasz? liczb? na 2 i dopisujmy sobie ile zosta?o reszty, gdy jej niema dajemy po prostu cyfr? 'zero', tak jak w poni?szym przyk?adzie:
Teraz spisujemy sobie kodzik od do?u (czyt. 1000001).
I takim sposobem mamy liczbe zakodowan? w systemie dw?jkowym.
Jednak co zrobi? aby ten proces odwr?ci??
1. Liczymy ile znak?w ma nasz kod binarny.
2. Odejmujemy od tego 1.
3. Wykonujemy dzia?ania dodawania i mno?enia tak jak na przyk?adzie ni?ej:
(po spacji zapisana jest pot?ga liczby)
I w taki spos?b odkodowali?my cyfry zapisane w kodzie binarnym.
System Czw?rkowy - Podobnie jak inne systemy liczbowe kodu binarnego mo?na przeliczy? korzystaj?c z prostego 'algorytmu'.
Ca?y system opiera si? na tym co mo?ecie przeczyta? wy?ej, jedyna r??nica jest w tym i? dzieli si? przez 4.
Do zapisu w tym systemie potrzebne s? liczby '0, 1, 2, 3'.
I licz?c od do?u wychodzi nam: 2002
Odliczanie robimy jak wy?ej, czyli:
1. Liczymy ile znak?w ma nasz kod binarny.
2. Odejmujemy od tego 1.
3. Wykonujemy dzia?ania dodawania i mno?enia tak jak na przyk?adzie wy?ej, z tym ?e nie mno?ymy przez 2 a przez 4.
Przyk?ady u?ycia:
System czw?rkowy ma zastosowanie w transmisji danych od wynalezienia telegrafu np. ISDN u?ywa kodowania liniowego 2B1Q.
System ?semkowy - Nazywany te? systemem 'oktalnym' daje nam mo?liwo?? z korzystania z cyfr od 0 do 7.
Ca?y system opiera si? na tym co mo?ecie przeczyta? wy?ej, jedyna r??nica jest w tym i? dzieli si? przez 8.
I czytamy od do?u czyli 202.
Odliczanie robimy jak wy?ej, czyli:
1. Liczymy ile znak?w ma nasz kod binarny.
2. Odejmujemy od tego 1.
3. Wykonujemy dzia?ania dodawania i mno?enia tak jak na przyk?adzie wy?ej, z tym ?e nie mno?ymy przez 4 a przez 8.
Przyk?ad u?ycia: System ?semkowy jest stosowany w informatyce. Przyk?adowo, w systemie Linux polecenie "chmod" ustawiaj?ce prawa dost?pu do pliku mo?e przyj?? jako argument oktaln? reprezentacj? ??danych praw dost?pu (np: "chmod u=rwx g=rx o=r plik" odpowiada zapisowi "chmod 754 plik"). W j?zykach programowania C/C++/Java/Perl/PHP liczby oktalne poprzedza si? pojedynczym zerem (np. 0212).
System Szesnastkowy - (czasem nazywany heksadecymalnym, skr?t hex) jest jednym z najtrudniejszych z opisywanych tutaj system?w. Jego obliczanie dla cz?owieka bez korzystania z program?w jest czasoch?onne i troch? m?cz?ce, ale warto umie? takie co? robi?.
System ten korzysta z 16 znak?w - od 0 do 9, oraz kolejno litery A, B, C, D, E, F kt?re oznaczaj?:
Jak go przekszta?ca??
Dajmy na to, ?e mamy kod binarny zapisany w postac:
aby go przekszta?ci? wykonujemy nast?pnie czynno??i:
1. Dzielimy kod co 4 liczby od prawej strony, gdy braknie 4 liczb na ko?cu to dopisujemy zera.
2. Nad podzielonym kodem dopisujemy liczby 8421, 8421.... w taki spos?b:
3. Mno?ymy liczby jak pod kresk?, czyli powinno wyj?? nam tak:
4. Dodajemy, tak aby wysz?o co? w tym stylu:
5. Je?li wychodz? nam liczby powy?ej 9 przeliczamy wed?ug wy?ej wspomnianych liter, tzn:
6. Mo?emy si? cieszy? i? zakodowali?my liczby w system szesnastkowy.
Odszyfrowywanie ci?gu kodu w systemie szesnastkowym bez korzystania z program?w jest zbyt trudne aby nie doj?? do pomy?ki, wi?c nie b?d? na razie o nim wspomina?.
W 1863 zaproponowano nowe cyfry oraz standard zapisu i pomiaru czasu (zegar) oraz lokalizacji (kompas) w systemie pozycyjnym szesnastkowym.
Obecnie s? dost?pne zegary (tak?e wirtualne) wskaz?wkowe lub LCD z liczbami w systemie pozycyjnym szesnastkowym[4], czy te? szesnastkowo-sze??dziesi?tnym. (zobacz te?: Hexadecimal time).
Przyk?adowy projekt zegara dzia?aj?cym w systemie szesnastkowym:
Mam nadzieje, ?e kto? przeczyta? do ko?ca i rozumie co nie co o co chodzi
Takie umiej?tno?ci na pewno w przysz?o?ci przydadz? si? przysz?ym informatykom.
Wpad?em na pomys? aby rozpowszechni? troch? wiedze o systemach binarnych, kt?re czasami mog? si? przyda?.
Zacznijmy od tego co to w og?le jest i do czego s?u?y...
Kod binarny mo?na podzieli? na:
Jest oczywi?cie wi?cej podzia??w, ale w tym poradniku opisze powy?sze cztery.- System Dw?jkowy
- System Czw?rkowy
- System ?semkowy
- System Szesnastkowy
S?u?y on bezpo?rednio do tego aby wyda? komputerowi polecenie, kt?re on zrozumie. Komputer jak wiemy jest maszyn? kt?ra nie ma m?zgu i zrobi wszystko co jej ka?emy, gdy tylko w odpowiedni spos?b jej to 'powiemy'.
Aby owa maszyna zrozumia?a co od niej chcemy musi dosta? ci?g zer i jedynek, kt?ry oznacza i? pr?d p?ynie lub nie... dzi?ki temu mo?emy si? porozumie? z niemy?l?cym komputerem.
Na pocz?tek wyja?ni? jak mo?na przet?umaczy? system dw?jkowy na dziesi?tny i na odwr?t.
System Dw?jkowy
1. Wymy?lmy sobie jak?? liczb?, np 130.
2. Jak znamy matematyk? z podstaw?wki dziel?c nieparzyste liczby otrzymujemy 'reszt?', wi?c podzielmy jako, ?e to jest system dw?jkowy nasz? liczb? na 2 i dopisujmy sobie ile zosta?o reszty, gdy jej niema dajemy po prostu cyfr? 'zero', tak jak w poni?szym przyk?adzie:
Code:
130:2 = 65 |0
65:2 = 32 |1
32:2 = 16 |0
16:2 = 8 |0
8:2 = 4 |0
4:2 = 2 |0
2:2 = 1 |0
1:2 = 0 |1
I takim sposobem mamy liczbe zakodowan? w systemie dw?jkowym.
Jednak co zrobi? aby ten proces odwr?ci??
1. Liczymy ile znak?w ma nasz kod binarny.
2. Odejmujemy od tego 1.
3. Wykonujemy dzia?ania dodawania i mno?enia tak jak na przyk?adzie ni?ej:
(po spacji zapisana jest pot?ga liczby)
Code:
1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 0*2 * 0 = 130
System Czw?rkowy - Podobnie jak inne systemy liczbowe kodu binarnego mo?na przeliczy? korzystaj?c z prostego 'algorytmu'.
Ca?y system opiera si? na tym co mo?ecie przeczyta? wy?ej, jedyna r??nica jest w tym i? dzieli si? przez 4.
Do zapisu w tym systemie potrzebne s? liczby '0, 1, 2, 3'.
Code:
130:4 = 32 |2
32:4 = 8 |0
8:4 = 2 |0
2:4 = 0 |2
Odliczanie robimy jak wy?ej, czyli:
1. Liczymy ile znak?w ma nasz kod binarny.
2. Odejmujemy od tego 1.
3. Wykonujemy dzia?ania dodawania i mno?enia tak jak na przyk?adzie wy?ej, z tym ?e nie mno?ymy przez 2 a przez 4.
Przyk?ady u?ycia:
System czw?rkowy ma zastosowanie w transmisji danych od wynalezienia telegrafu np. ISDN u?ywa kodowania liniowego 2B1Q.
System ?semkowy - Nazywany te? systemem 'oktalnym' daje nam mo?liwo?? z korzystania z cyfr od 0 do 7.
Ca?y system opiera si? na tym co mo?ecie przeczyta? wy?ej, jedyna r??nica jest w tym i? dzieli si? przez 8.
Code:
130:8 = 16 |2
16:8 = 2 |0
2:8 = 0 |2
Odliczanie robimy jak wy?ej, czyli:
1. Liczymy ile znak?w ma nasz kod binarny.
2. Odejmujemy od tego 1.
3. Wykonujemy dzia?ania dodawania i mno?enia tak jak na przyk?adzie wy?ej, z tym ?e nie mno?ymy przez 4 a przez 8.
Przyk?ad u?ycia: System ?semkowy jest stosowany w informatyce. Przyk?adowo, w systemie Linux polecenie "chmod" ustawiaj?ce prawa dost?pu do pliku mo?e przyj?? jako argument oktaln? reprezentacj? ??danych praw dost?pu (np: "chmod u=rwx g=rx o=r plik" odpowiada zapisowi "chmod 754 plik"). W j?zykach programowania C/C++/Java/Perl/PHP liczby oktalne poprzedza si? pojedynczym zerem (np. 0212).
System Szesnastkowy - (czasem nazywany heksadecymalnym, skr?t hex) jest jednym z najtrudniejszych z opisywanych tutaj system?w. Jego obliczanie dla cz?owieka bez korzystania z program?w jest czasoch?onne i troch? m?cz?ce, ale warto umie? takie co? robi?.
System ten korzysta z 16 znak?w - od 0 do 9, oraz kolejno litery A, B, C, D, E, F kt?re oznaczaj?:
Code:
A=10
B=11
C=12
D=13
E=14
F=15
Dajmy na to, ?e mamy kod binarny zapisany w postac:
Code:
[CENTER]1101 1011 1011 1011 0010[/CENTER]
1. Dzielimy kod co 4 liczby od prawej strony, gdy braknie 4 liczb na ko?cu to dopisujemy zera.
2. Nad podzielonym kodem dopisujemy liczby 8421, 8421.... w taki spos?b:
Code:
8421 8421 8421 8421 8421
1101 1011 1011 1011 0010
Code:
8+4+0+1 8+0+2+1 8+0+2+1 8+0+2+1 + 0+0+2+0
Code:
13 11 11 11 2
Code:
DBBB2
Odszyfrowywanie ci?gu kodu w systemie szesnastkowym bez korzystania z program?w jest zbyt trudne aby nie doj?? do pomy?ki, wi?c nie b?d? na razie o nim wspomina?.
W 1863 zaproponowano nowe cyfry oraz standard zapisu i pomiaru czasu (zegar) oraz lokalizacji (kompas) w systemie pozycyjnym szesnastkowym.
Obecnie s? dost?pne zegary (tak?e wirtualne) wskaz?wkowe lub LCD z liczbami w systemie pozycyjnym szesnastkowym[4], czy te? szesnastkowo-sze??dziesi?tnym. (zobacz te?: Hexadecimal time).
Przyk?adowy projekt zegara dzia?aj?cym w systemie szesnastkowym:
Mam nadzieje, ?e kto? przeczyta? do ko?ca i rozumie co nie co o co chodzi
Takie umiej?tno?ci na pewno w przysz?o?ci przydadz? si? przysz?ym informatykom.
Pozdrawiam, Arkam Shadow!
Poradnik jest w 100% m?j, zabraniam go kopiowania na inne fora gdy? napisa?em go tylko dla Tibia.net.pl
//Jedyne pomocnicze ?r?d?o z kt?rego korzysta?em to wikipedia, z kt?rej wyci?gn??em wy??cznie zdj?cia oraz przyk?ady u?ycia programu w ?yciu codziennym. Ca?a reszta informacji wzi??a si? z mojej g?owy i do?wiadczenia.
//Jedyne pomocnicze ?r?d?o z kt?rego korzysta?em to wikipedia, z kt?rej wyci?gn??em wy??cznie zdj?cia oraz przyk?ady u?ycia programu w ?yciu codziennym. Ca?a reszta informacji wzi??a si? z mojej g?owy i do?wiadczenia.