Władca Pierścieni / Tajne Forum Fantasy Forum Index
Główna: Władca Pierścieni, Hobbit, Zwiastuny
Katalog: Strony fantasy
Polecane: Opowieści z Narnii, Wiersze miłosne, NLP
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.

FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  StatisticsStatistics
RegisterRegister  Log inLog in  AlbumAlbum  Chat

Previous topic «» Next topic
Nauczyc sie kodu binarnego
Author Message
nagg 
Administrator



Joined: 31 Jan 2003
Posts: 648
Location: Podkowa
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"?


Artykuł z http://reset-forever.com/ - nawiasem mowiac, wspaniałe ongis to pismo bylo :)
_________________
Miejsce na Twoją stronę -> Katalog Fantasy
Też piszesz do szuflady? Zapraszamy na portal twórczości amatorskiej - Szuflada
 
 
Corialote 
Mallorny Lothlórien



Joined: 11 Mar 2004
Posts: 227
Location: nowa era: Imladris
Posted: Fri Apr 30, 2004 12:21 pm   

ja nie rozumiem z tego ani troszki...
_________________
Scoia'tael nae essaamin.
_________________
 
 
 
Ara:) 
Jaskinia Sheloby



Joined: 23 Jan 2004
Posts: 542
Location: K-ów
Posted: Fri Apr 30, 2004 2:09 pm   

Dla mnie to raczej proste :D
Co do zadania mam pytanie. WOLNO UżYWAĆ KALKULATORÓW ??
 
 
 
nagg 
Administrator



Joined: 31 Jan 2003
Posts: 648
Location: Podkowa
Posted: Fri Apr 30, 2004 3:21 pm   

Scoia'tael: A w czym poblem?

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
_________________
Miejsce na Twoją stronę -> Katalog Fantasy
Też piszesz do szuflady? Zapraszamy na portal twórczości amatorskiej - Szuflada
 
 
Esk 
Wodogrzmoty Rauros



Joined: 30 Apr 2004
Posts: 253
Location: Luimennach
Posted: Fri Apr 30, 2004 6:54 pm   

System binarny to pikuś... Trzeba jeszcze umieć przeliczać na system ósemkowy i dziesiątkowy :green:
_________________
I uznałem siebie za wybrańca losu, wiedziałem, że gdyby zamiast mnie był tu ktoś inny, nie zobaczyłby niczego.
Hrabal
 
 
 
nagg 
Administrator



Joined: 31 Jan 2003
Posts: 648
Location: Podkowa
Posted: Fri Apr 30, 2004 8:35 pm   

Esk wrote:
System binarny to pikuś... Trzeba jeszcze umieć przeliczać na system ósemkowy i dziesiątkowy :green:


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 :)
_________________
Miejsce na Twoją stronę -> Katalog Fantasy
Też piszesz do szuflady? Zapraszamy na portal twórczości amatorskiej - Szuflada
Last edited by nagg on Fri Apr 30, 2004 10:34 pm; edited 1 time in total  
 
 
Esk 
Wodogrzmoty Rauros



Joined: 30 Apr 2004
Posts: 253
Location: Luimennach
Posted: Fri Apr 30, 2004 8:39 pm   

No tak, ale chodzi mi o robienie kombinacji dwójkowy->dziesiętny lub ósemkowy->dziesiętny, w drugą stronę :)
_________________
I uznałem siebie za wybrańca losu, wiedziałem, że gdyby zamiast mnie był tu ktoś inny, nie zobaczyłby niczego.
Hrabal
 
 
 
nagg 
Administrator



Joined: 31 Jan 2003
Posts: 648
Location: Podkowa
Posted: Fri Apr 30, 2004 10:29 pm   

Hmm, wiec zobaczmy:)

Systemy liczbowe.

Kody dziesiętne – system dziesiętny (dziesiątkowy, decymalny)
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} podstawa = 10

Kody ósemkowe – system ósemkowy (system oktalny)
{0, 1, 2, 3, 4, 5, 6, 7} podstawa = 8

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:

3E8 ("3" "14" "8") ==> 3x16(2) + 14x16(1) + 8x16(0) = 768 + 224 + 8 = 1000.

AB12 ("10" "11" "1" "2" ) ==> 10*16(3) + 11*16(2) + 1*16(1) + 2*16(0) = 40960 + 2816 + 16 + 2 = 43794


Konwersja z dziesietnej na szesnastkowa jest nieco trudniejsza, i nie chce mi sie pisac :P

Na koniec tabela :)

Code:


Binarny        Ósemkowy      Szesnastkowy       Dziesiętny
00000          00              00                00
00001          01              01                01
00010          02              02                02
00011          03              03                03
00100          04              04                04
00101          05              05                05
00110          06              06                06
00111          07              07                07
01000          10              08                08
01001          11              09                09
01010          12              0A                10
01011          13              0B                11
01100          14              0C                12
01101          15              0D                13
01110          16              0E                14
01111          17              0F                15
10000          20              10                16




Opisane na podstawi hasel w Wikipedii i stronie http://pasja.scrypty.com/...ne/sysliczb.php
nagg
_________________
Miejsce na Twoją stronę -> Katalog Fantasy
Też piszesz do szuflady? Zapraszamy na portal twórczości amatorskiej - Szuflada
 
 
Ara:) 
Jaskinia Sheloby



Joined: 23 Jan 2004
Posts: 542
Location: K-ów
Posted: Sat May 01, 2004 2:37 pm   Re: Nauczyć się kodu binarnego

nagg wrote:

Na zadanie domowe zamieńcie datę swojego urodzenia( dzień, miesiąc rok) na postać binarną i odwrotnie.


chodzi mi o to zadanie ;)
Bo bez kalkulatora ciężko będzie zmienić liczbę 010619990 na kod binarny :D
 
 
 
v3rt
Czarna Otchłań Morii



Joined: 01 Feb 2003
Posts: 182
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 :D

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...

10 619 990 : 2 = 5 309 995 [0]
5 309 995 : 2 = 1 + 2 654 997 [1]
2 654 997 : 2 = 1 + 1 327 498 [1]
1 327 498 : 2 = 663 749 [0]
663 749 : 2 = 1 + 331 874 [1]
331 874 : 2 = 165 937 [0]
165 937 : 2 = 1 + 82 968 [1]
82 968 : 2 = 41 484 [0]
41 484 : 2 = 20 742 [0]
20 742 : 2 = 10 371 [0]
10 371 : 2 = 1 + 5 185 [1]
5 185 : 2 = 1 + 2 592 [1]
2 592 : 2 = 1 296 [0]
1 296 : 2 = 648 [0]
648 : 2 = 324 [0]
324 : 2 = 162 [0]
162 : 2 = 81 [0]
81 : 2 = 1 + 40 [1]
40 : 2 = 20 [0]
20 : 2 = 10 [0]
10 : 2 = 5 [0]
5 : 2 = 1 + 2 [1]
2 : 2 = 1 [0]
1 : 2 = 1 + 0 [1]

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
 
 
Corialote 
Mallorny Lothlórien



Joined: 11 Mar 2004
Posts: 227
Location: nowa era: Imladris
Posted: Sun May 16, 2004 3:30 pm   

ze wszystkim problem naggu... :(

ale przysiądę i zrobię ;)

pozdroofka :D
_________________
Scoia'tael nae essaamin.
_________________
 
 
 
Display posts from previous:   
Reply to topic
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
Add this topic to your bookmarks
Printable version

Jump to:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
widmo, recenzje anime
Domy i Działki NLP Online Słownik synonimów