System dwójkowy?

Kto potrafi wytłumaczyć na czym polega system dwójkowy?? I co to właściwie jest?? Na google szukałem i nic nie ma :frowning:

Z góry dzienki za pomoc:)

Napewno ? :?

Ja Ci udowodnię,że jednak cos jest.Peirwszy link z google:

http://www.astro.amu.edu.pl/Staff/Tkast … node9.html

no jest… ale tak troche nie zrozumiale nie zrosumiane… :frowning:

:arrow: http://pl.wikipedia.org/wiki/Dw%C3%B3jk … m_liczbowy :wink: bardzo prosto :wink:

System dwójkowy czyli binarny


   Powiedzieliśmy sobie, że można wymyślać dowolny system zapisu liczb. Skoro tak, to, czemu miałby nie powstać system dwójkowy, składający się tylko z dwóch cyfr: 0 (zero) i 1 (jeden). Działa on analogicznie tak samo jak poprzednie systemy. Wyjaśni się zaraz wszystko na konkretnym przykładzie. Weźmy na przykład kilka pierwszych liczb naszego systemu dziesiętnego. Będziemy je konwertować na system dwójkowy, zwany również binarnym. Pierwsza liczba w naszym systemie to 0 (zero). W systemie dwójkowym, liczba ta również jest równa 0, gdyż istnieje tam taka cyfra. Kolejna liczba to 1 (jeden). W systemie dwójkowym, również taka cyfra istnieje, więc zapisujemy 1. Kolejna liczba to 2 (dwa). Wiemy, że nie istnieje tam taka cyfra, więc dodajemy kolejną pozycję, a pozycję wysuniętą na prawo, zerujemy. Zatem liczba 2 w systemie dziesiętnym ma postać "10" w systemie dwójkowym. Bynajmniej nie jest to "dziesięć" tylko "jeden, zero". Kolejne liczby w systemie dziesiętnym to: 3, 4, 5, 6, 7, 8, 9 itd. W systemie dwójkowym wyglądają one odpowiednio: 11, 100, 101, 110, 111, 1000, 1001. Jak widzimy, zasada jest cały czas taka sama.


   Zanim zaczniemy uczyć się, jak w prosty sposób zamienić liczbę z jednego systemu na drugi, postawmy sobie pytanie: Po co komputerowi taki system?


   No więc, jak zapewne wszyscy wiedzą, komputer składa się z części elektronicznych. Wymiana informacji polega na odpowiednim przesyłaniem sygnałów. Podstawą elektroniki jest prąd elektryczny, który w układach elektronicznych albo płynie albo nie. Zatem, aby łatwiej było komputerowi rozpoznawać sygnały, interpretuje on płynący prąd jako "1" (jeden), a jego brak jako "0" (zero). Nie trudno się domyślić, że komputer operując odpowiednim ustawieniem, kiedy ma płynąc prąd, a kiedy nie ustawia różne wartości zer i jedynek. Procesor konwertuje je na liczby i w ten sposób powstają czytelne dla nas obrazy, teksty, dźwięk itd. Mam nadzieję, że w ten "chłopski" sposób wyjaśniłem wam mniej więcej jak to się odbywa. Nie tylko w postaci sygnałów elektrycznych reprezentowane mogą być zera lub jedynki. Również na wszelkich nośnikach, np. płyta CD, na której nagrywarka wypala malutkie wgłębienia. Właśnie te wgłębienia są jedynkami, a "równiny" zerami (albo i odwrotnie).


   Zatem podsumujmy: komputer zna tylko zera i jedynki. Bity przyjmują tylko jedną z tych dwóch wartości. Osiem bitów to jeden bajt. Ustawienie ośmiu bitów decyduje o numerze, który może przyjąć maksymalnie 256. Numer decyduje o znaku, jaki komputer ma wykorzystać.



   Konwersja liczby dwójkowej (binarnej) na dziesiętną


   Skoro już wiesz, po co nam system binarny, dowiesz się jak przeliczać go na nasz system dziesiętny. Otóż nie jest to zbyt skomplikowane. Przypomnijcie sobie sposób z liczbami w systemie ósemkowym. Tu oczywiście robimy to analogicznie tak samo, z tym, że podstawą jest naturalnie liczba 2. Weźmy sobie zatem jakąś liczbę zapisaną w systemie dwójkowym, np. 1000011. Jak już wcześniej mówiliśmy, zaczynamy od cyfr najsłabszych, czyli wysuniętych najbardziej na prawo. Najbardziej na prawo wysunięta jest cyfra 1, a więc tak jak poprzednio mnożymy ją przez podstawę systemu z odpowiednią potęgą. Podstawą systemu jest 2. Zatem, cała konwersja ma postać: 1*20 + 1*21 + 0*22 + 0*23 +0*24 + 0*25 +1*26, a to się równa: 1 + 2 + 0 + 0 + 0 + 0 + 64, czyli jest to 67 w systemie dziesiętnym. Moje gratulację - udało się skonwertować liczbę w zapisie dwójkowym na zapis dziesiętny. Teraz dobrze by było gdybyś przeanalizował sobie dokładnie powyższą konwersję. Jeżeli jej nie rozumiesz - przeczytaj jeszcze raz. Jeżeli rozumiesz - zapraszam dalej.



   Konwersja liczby dziesiętnej na dwójkową (binarną)


   Teraz, skoro już umiesz konwertować liczby z zapisu dwójkowego na dziesiętny warto by było skonwertować je odwrotnie, to znaczy z zapisu dziesiętnego na dwójkowy. Gdybyśmy liczyli na piechotę, byśmy musieli sprawdzać kolejne wielokrotności liczby 2. Sposób ten raczej jest mało stosowany, zajmijmy się trochę lepszym. Jest to prosty sposób, wcale nie wymaga myślenia. Najpierw bierzemy liczbę, jaką chcemy skonwertować na zapis dwójkowy. Weźmy liczbę z poprzedniego rozdziału i sprawdźmy, czy nam się to zgadza. Zatem, liczba którą będziemy konwertować to 67. Sposób jest następujący: liczbę dzielimy przez 2 i jeżeli wynik będzie z resztą: zapisujemy 1, jeżeli nie - zapisujemy 0. Następnie znowu dzielimy przez 2 to co zostało z liczby, ale bez reszty. Taki proces trwa, aż zostanie 0 (zero). Otrzymane zera i jedynki zapisujemy w odwrotnej kolejności. Wyjaśni się to wszystko na konkretnym przykładzie. Zatem do dzieła:


67	:2 |	1

33	:2 |	1

16	:2 |	0

8	:2 |	0

4	:2 |	0

2	:2 |	0

1	:2 |	1



   Co daje 1000011. Jak widzimy, wynik zgadza się. Widać również, że zawsze na samym końcu po podzieleniu będzie 0, zatem ostatnia liczba jest równa 1. Jeden podzielić na dwa zawsze wyjdzie 0,5 zatem wynik z resztą. Co za tym idzie - pierwsza cyfra w zapisie dwójkowym jest ZAWSZE RÓWNA 1. Nie tylko matematycznie można to udowodnić. W elektronice, również musi być taka postać rzeczy. Przyjęliśmy bowiem, że dla komputera brak przepływu prądu oznacza "0", natomiast przepływ prądu - "1". Sygnał zatem nie może zaczynać się od "0", gdyż jest to brak sygnału. Procesor nie wie, czy sygnał już się zaczął, czy jeszcze nie. Początek musi być "1" (jest sygnał).

Zaczerpnięto ze stony

:arrow: http://www.programuj.com/artykuly/rozne/sysliczb.php

Autor: GIZMO

W skrócie chodzi o to że liczbę w postaci dziesiętnej, ósemkowej lub szesnastkowej zapisujemy w formie ciągu cyfra 1 i 0. Czyli np liczbę 12 zapiszemy jako 1100. Przekształcanie polega na tym że podstawiamy sobie liczby kolejno 1,2,4,8,16,32,64,128,256,512,1024,… Liczba 12 mieśli się w przedziale 8 a 16. Czyli będziemy mieli 4 znaki w systemie binarnym. Potem tylko podstawiamy 8,4,2,1. Jeśli w 8 mieści się ta liczba wpisujemy 1, jeśli nie to 0 i tak wszystkie kolejne. Może troche dziwnie to opisałem ale tak jest :stuck_out_tongue:

W systemie dwójkowym liczby zapisuje sie za pomocą 2 cyfr: 0, 1

W dziesiętnym jest to dziesięć liczb: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

W szesnastkowym są to: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, oraz pierwsze sześć liter z alfabetu łacińskiego: a, b, c, d, e, f.

System dwójkowy jest lubiany przez procesory ;]

Liczby z dwójkowego na dziesiętny przelicza się tak:

10110 - wpisałem byle jaką liczbę w postaci binarnej

teraz posługujemy się potęgami liczby dwa. zaczynamy od prawej do lewej (tzn to nie ma znaczenia)

Pierwsza cyfra od prawej dostaje potęgę zerową, każda kolejna o jeden wyższą.

Pierwsza cyfra od prawej to 0, a więc:

[0 x 2 do zerowej = 0] +

[1 x 2 do pierwszej = 2] +

[1 x 2 do drugiej = 4] +

[0 x 2 do trzeciej = 0] +

[1 x 2 do czwartej = 16]

wyniki dziesiętne dodajesz i otrzymujesz całą liczbę dziesiętną, w tym przypadku jest to 22.

Jak widzisz to czy liczysz od prawej do lewel, czy od lewej do prawej nie ma znaczenia, musisz pamiętać tylko, że pierwsza cyfra od prawej dostaje zerową potęgę 2.

A jak się to robi w drugą stronę, czyli z dziesiętnej liczby do postaci binarnej? Już mówię ;]

Oczywiście trzeba znać potęgi liczby 2 - to jest podstawa.

[2 do 0 = 1]

[2 do 1 = 2]

[2 do 2 = 4]

[2 do 3 = 8] i tak dalej, 16 (do 4), 32 (do 5), 64 (do 6), 128 (do 7), 256 (do 8 ), 512 (do 9), 1024 (do 10)…

Mamy zupełnie przypadkowo wybraną liczbę: 47 :mrgreen:

I teraz myślimy - jaka potęga liczby dwa jest równa, lub mniejsza od liczby którą chcemy obliczyć(47) w tym wypadku 32 - czyli 2 do potęgi 5.

Już wiemy, że liczba binarna będize miała 6 cyfr (o 1 więcej niż potęga dwójki, ponieważ w potęgach liczy się również zero, z tego co napisałem powyżej jest to 6 w kolejności potęga liczby 2).

mamy 6 pustych pól: _ _ _ _ _ _

więc stawiamy cyfrę 1 na początku : 1 _ _ _ _ _ (odpowiada ona 32)

następna jest 2 do czwartej (jedziemy w dół, zaczynaliśmy od 2 do piątej)

równa się ona 16, ale po dodaniu 16 do 32 wychodzi za dużo, więc jest zero: 10 _ _ _ _

Teraz 2 do trzeciej = 8. Po dodaniu 32 i 8 otrzymujemy 40, a więc mieści się w 47, stawiamy 1: 101 _ _ _

Następna to dwa do drugiej = 4. 40 + 4 [= 44] mieści się w 47, więc jest 1: 1011 _ _

Next dwa do pierwszej = 2. 44 + 2 = 46 - mieści się w 47, więc 1: 10111_

I ostatnia dwa do zerowej = 1, 46 plus 1 = 47, stawiamy 1 i tak oto otrzymaliśmy 101111 - widzisz jakie łatwe ;]

Pozdrawiam, nr101111 8)

prostą metodą na zamienienie liczby dziesiętnej na binarną, jest dzielenie modulo dwa, jego podstawowe zalety to:

  • nie wymaga znajomości potęg liczby dwa

  • sprawdza się równierz dla innych systemów liczbowych

na przykładzie podanym przez nr47 , mamy liczbę 47, chcemy ją zamienić na liczbę bitową, w tym celu dzielimy 47 przez dwa, otrzymujemy 23 oraz 1 reszty, 23 dzielimy na dwa, otrzymujemy 11 reszty 1… można to zapisywać w ten sposób

47 | 1

23 | 1

11 | 1

5 | 1

2 | 0

1 | 1

0

teraz wystarczy tylko zczytać od dołu liczbę znajdującą się w prawej kolumnie czyli 101111

Fajne Airborn :mrgreen:

A łatwiejszej metody na dwójkowy -> dziesiętny nie ma ? (poza użyciem komputera ;])

Kalkulator z tą funkcją, każdy bardziej rozbudowany na bank ma 8)

Taaaa, a jak zapisac ułamki w systemie bianrnym i liczby ujemne(chyba)??

ten kalkulator przeliczy ci każdą liczbe zapisaną w systemie bnarnym na system dziesiątkowy i na odwrót:

http://www.dobreprogramy.pl/index.php?dz=22&id=595&t=108

cóż, co do zapisu liczb ujemnych to zależy jakiego systemu użyjesz, istnieje kilka najpopularniejszych systemów zapisu liczb binarnych umożliwiających zapisanie liczby ujemnej -> U1 (uzupełnień do jedności), U2 (uzupełnień do dwóch), Z-M (znak-moduł) (każda opisana w wikipedi więc nie będe tłumaczył)

natomiast co do zapisu ułamków zwykłych, stosuje się dokładnie taką samą notację jak w przypadku liczb zapisywanych w systemie dziesiętnym. Pierwsza liczba w systemi dziesiętnym to x*10^-1 druga to y*10^-2 itd, w systemie dwójkowym to odpowiednio a*2^-1, b*2^-2 :wink:

Jest to sposób (system dwojkowy i dziesietny) w jaki komputer przyswaja informacje(zapisuje)

zapisuje może i owszem, jednak przyswaja (pracuje) przeważnie w systemie szesnastkowym :wink: