Wladca Pierscieni / Tajne Forum Fantasy Witam Cie na Twoim Forum. Tak, to je odroznia od wielu innych. Zapytaj ktoregos z uzytkownikow jak tu jest. Tutaj kazdy sie liczy. Mysle, ze to juz tradycja tego forum - niezwykla atmosfera - ktora tworzycie Wy. I za to Wam dziekuje.
Posted: Thu Apr 29, 2004 8:52 pm Nauczyć się kodu binarnego
coz prostzego:
Pomyślałem sobie, że umiejętność posługiwania się systemem binarnym może Wam się przydać na konkursie informatycznym (ja to np. miałem).
System binarny to nic innego jak ciąg zer i jedynek, system ten jest wykorzystywany m.in. w komputerach. Liczba 43 w systemie binarnym to 101011, jak do tego doszedłem? Wystarczy podaną liczbę dzielić przez 2, zapisywać reszty i czytać je od dołu! Proste, prawda? Na początek zmienimy liczbę 29.
29:2=14 r. 1
14:2= 7 r. 0
7:2= 3 r. 1
3:2= 1 r. 1
1:2= 0 r. 1
Tak, więc liczba 29 w systemie binarnym to 11101, bo reszty czytamy od dołu. A teraz zamienimy liczbę 43:
43:2=21 r. 1
21:2=10 r. 1
10:2= 5 r. 0
5:2= 2 r. 1
2:2= 1 r. 0
1:2= 0 r. 1
Tak, więc liczba 43 w systemie binarnym to 101011(czytając reszty od dołu) Poprawny zapis wygląda tak: 43(10) = 101011(2). żeby udowodnić, że 43(10) = 101011(2) liczbę w postaci binarnej zamienię na liczbę w systemie dziesiętnym:
Dla przykładu 43:
32 16 8 4 2 1
1 0 1 0 1 1
To wszystko wyszło mi z tego, że nad każdą jedynką czy zerem zapisuję kolejną potęgę liczby 2 (do potęgi: zerowej, pierwszej, drugiej itd.)Potęgi czytamy od prawej strony, ale żeby wyszedł nam poprawny wynik musimy zsumować(dodać) tylko te potęgi liczby 2 które znajdują się nad jedynkami. W przypadku liczby 43 to:
1 + 2 + 8 + 32 = 43
Banalnie proste, prawda? Teraz dla utrwalenia zamienimy liczbę 150 na postać binarną i z powrotem:
150:2=75 r. 0
75:2=37 r. 1
37:2=18 r. 1
18:2= 9 r. 0
9:2= 4 r. 1
4:2= 2 r. 0
2:2= 1 r. 0
1:2= 0 r. 1
Liczba 150 w postaci binarnej to 10010110. Teraz zrobimy to samo tylko na odwrót:), czyli liczbę 10010110(2) zamienimy na liczbę w postaci dziesiętnej:
128 64 32 16 8 4 2 1
1 0 0 1 0 1 1 0
Teraz sumujemy potęgi dwójki znajdujące się nad jedynkami:
2 + 4 + 16 + 128 = 150
Mam nadzieję, że wszystko rozumiecie, a jak nie to mail na dole:) Na zadanie domowe zamieńcie datę swojego urodzenia( dzień, miesiąc rok) na postać binarną i odwrotnie. Był to tylko (chyba)jednoczęściowy art. i nie wiem czy napisze coś więcej, może dodawanie i odejmowanie "zer i jedynek"?
Aragornka:): No tak, ale nei o to w tym chodzi chcialem tylko pokazac na czym to polega Joko ciekawostke. A ze na necie sie natknalem, to tu wrzucilem.
nagg
System binarny to pikuś... Trzeba jeszcze umieć przeliczać na system ósemkowy i dziesiątkowy
Eee, orlem nie jestem, ale czy przypadkiem system "diesiatkowy" (dziesietny?) to nie jest: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; ? Czyli pzliczanie binarny na dziesietny juz znamy, a na osemkowy... coz, trzeba poszukac
Kod binarny - system dwójkowy
(kod binarny prosty – służy do kodowania liczb dodatnich)
{0, 1} podstawa = 2 Np.100101=1*2ˆ6+0*2ˆ5+0*2ˆ4+0*2ˆ3+1*2ˆ2+0*2ˆ1+1*2ˆ0=64+0+0+4+0+1=69
Kody szesnastkowe – system szesnastkowy (system heksadecymalny, heksagonalny)
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} podstawa = 16
przy czym A = 10, B = 11, ... , F = 15
------------------------------------------------------------------------------------------------------------------------------------
Kody dziesiętne - dla nas najbardziej naturalny.
Liczba 362 to tak jak: 2*10(0) + 6*10(1) + 3*10(2). Jak widzimy, mnożnik to liczba 10 z ciągle zwiększającą się potęgą. Mozna zapisac tez odwrotnie:
3*10(2) + 6*10(1) +2*10(0) = 3*100 + 6*10 + 2 = 362; Czyli kolejne miejsce w szeregu jest ustosunkowane od potegli liczby 10 (piate miejsce, wiec cyfra * 10 (5))
Kody ósemkowe - idac dalej tym tropem mozemy tez stworzyc system ósemkowy, jak zresztą kazdy inny (trójkowy, czwórkowy etc). Sklada sie on (ósemkowy) z osmiu liczb (0, 1, 2, 3, 4, 5, 6, 7;) gdy nastepuje "ósemka" zaczynamu od nowa. Liczby takie jak: 6, 7, 8, 9, 10, w systemie ósemkowym będą wyglądać odpowiednio: 6, 7, 10, 11, 12.
Tak wiec sprawdzmy, ze 14 w systemie ósemkowym to 12 w dziesiętnym:
14 ==> 1*8(1) + 4*8(0) = 8 + 4 = 12
36 ==> 3*8(1) + 6*8(0) = 24 + 6 = 30
Kod binarny - w takim razie mozna tez zminimalizowac system do tylko dwoch znakow Posiadamy tylko cyfry 0 i 1;
1000011 ==> 1*2(6) + 0*2(5) + 0*2(3) + 0*2(2) +0*2(4) + 1*2(1) + 1*2(0) = 64 + 0 + 0 + 0 + 0 + 2 + 1 = 67
Obszerne obajasnienie jest wyzej, wiec juz nie bede meczyl tematu...
no i na koniec system szesnastkowy - sprawa jest tak samo prosta jak w poprzednich systemach, z tym, ze cyfry powyzej 9 zastepuja pierwsze litery alfabetu lacinskiego, Tak wiec 1000, w hex przybiera postać 3E8:
Posted: Sat May 01, 2004 8:46 pm Re: Nauczyć się kodu binarnego
Aragornka:) wrote:
Bo bez kalkulatora ciężko będzie zmienić liczbę 010619990 na kod binarny
nie przesadzajmy dzielenie przez 2 wymaga kalkulatora? udowodnic, ze nie? liczba ktora podalas (chociaz mam watpliwosci, czy wlasnie o taka Ci chodzilo, ale o tym pozniej) to bedzie... hmm...
co daje nam 101000100000110001010110. tak na oko zajelo mi to ok 5 minut (nie liczac czasu przepisywania z kartki) jezeli ktos chce moze to sprawdzic - nie zrobilem tego. moze jednak sie pomylilem.
a tak wogole to date urodzenia mozna przedstawic jako 1.6.1990 (podejrzewam, ze nie urodzilas sie w 1999 roku, a tylko strzelilas literowke ). zapisanie takiej liczby w postaci dwojkowej to juz kaszka z mleczkiem. dodam jeszcze, ze wlasnie taki zapis jest bardziej... uhm... ergonomiczny? chodzi mi o to, ze w elektronice i informatyce latwiej jest przeslac kilka malych sygnalow/pakietow danych niz jeden duzy.
ja nauczylem sie przeliczania liczb dziesietnych na binarne w zupelnie inny sposob. moj autorski jest o wiele bardziej zawodny od tego, ale wtedy najzupelniej w swiecie nie wiedzialem o jego istnieniu. znalem wowczas tylko podstawy teoretyczne systemu Leibniz'a wiec postanowilem znalezc sposob na konwersje w pamieci...
kolejne potegi liczby 2 sa bardzo proste do zapamietania. no, moze nie tyle proste, ile faktem jest, ze kazdy, kto ma choc troszke zaciecia do komputerow szybko je zapamieta. 8, 16, 32, 64, 128, 256, 512, 1024 - mniej wiecej w taki sposob, co pare miesiecy, rosnie standardowa ilosc pamieci RAM w komputerze tak wiec, mamy najwazniejsza rzecz - wartosci kolejnych poteg 2 (pierwszymi sa 1, 2 i 4 - nie wspomnialem o nich aby nie burzyc przykladu o pamieci RAM). teraz bierzemy dowolna liczbe. niech bedzie np 958. reszta sprowadza odejmowaniu od owej liczby kolejnych poteg 2 poczynajac od najwyzszej mozliwej. jezeli wynik bedzie dodatni to wstawiamy 1 i dalej odejmujemy od wyniku, a jezeli bedzie ujemny to wstawiamy 0 i odejmujemy od poprzedniej liczby. tak wiec mamy...
958 - 512 = 446 (jeszcze jedno: z tego, ze najwyzsza potega dwojki mieszczaca sie w 958 jest 512 wiemy, ze nasza liczba bedzie miala 10 cyfr - bo 2^10 = 512) [1]
446 - 256 = 190 [1]
190 - 128 = 62 [1]
62 - 64 = -2 (liczba ujemna wiec wstawiamy 0 i przepisujemy 62 dalej) [0]
62 - 32 = 30 [1]
30 - 16 = 14 [1]
14 - 8 = 6 [1]
6 - 4 = 2 [1]
2 - 2 = 0 [1]
0 - 1 = -1 [0]
wyniki czytamy po kolei (nie od dolu, jak w pierwszym sposobie) - mamy 1110111110
tak to wlasnie wyglada. mnie osobiscie bardziej odpowiada moj sposob i w praktyce jest on o wiele szybszy. jego niewatpliwa zaleta jest to, ze liczby ponizej 1000 mozna konwertowac w pamieci (jedynki i zera wychodza "po kolei" podczas gdy w sposobie na dzielenie trzeba odwrocic kolejnosc).
wybaczcie taki referat, ale bardzo lubie cyferki a systemu liczbowe sa mi bardzo bliskie - interesuje sie kryptografia.
i jeszcze na koniec drobna refleksja... wszystko jest umowne - ludzie maja klopoty ze zrozumieniem systemow innych niz dziesietny z tego prostego powodu, ze od dziecka sa do niego przyzwyczajeni. to tak samo jak z jezykiem. aby nauczyc sie mowic w innym jezyku - trzeba przestac myslec "po polsku". aby nauczyc sie systemu np. osemkowego - trzeba przestac myslec dziesietnie
_________________ v3rt (malpa) o2 (kropka) pl
---------------------------------------
v3rt on #perverts @ IRCnet
GG # 2143856 | ICQ # 164660564
---------------------------------------
Always look on the bright side of life
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum