Polski Serwis Naukowy - OnLine od 1999 roku
RSS
Czwartek, 31 maja 2012
Petronia, Bożysława, Ernestyna, Teodor
 1891: budowa Kolei Transsyberyjskiej
 1970: zagłada miasta Yungay w Peru
 WHO: Dzień bez Papierosa
Nowe publikacje
O systemie binarnym
Dodano:
|19 Sty 2011|, 2011 09:44
|
|
|
Jak może wyglądać odpowiedź na polecenie: podaj jakąś liczbę ? Zapewne możemy się spodziewać liczby 12, 459, -27 czy 0,39. Każda jest oczywiście dobra, ale zwróćmy uwagę na to, co każda z tych liczb oznacza. Wszyscy, a przynajmniej zdecydowana większość myśli o tych liczbach w następujący sposób:
Wszystkie te liczby odczytujemy jako liczby w systemie dziesiętnym i to jest podejście naturalne. Na przykład liczba 459 składa się z cyfry 4 na pozycji setek, cyfry 5 na pozycji dziesiątek i 9 na pozycji jedności, natomiast w liczbie 0,39 mamy cyfrę 3 na dziesiątej części całości i cyfrę 9 na części setnej.
Każda liczba rzeczywista o skończonym rozwinięciu dziesiętnym, na przykład z k-cyframi przed przecinkiem i m-cyframi po przecinku ma postać następującej sumy:
gdzie
Jednak nie wszystkie liczby w systemie dziesiętnym mają rozwinięcie skończone. Weźmy dla przykładu ułamek zwykły 1/3, którego rozwinięcie dziesiętne nie jest skończone:
Taki ułamek możemy przedstawić następująco:
Zatem liczby w układzie dziesiątkowym mogą mieć rozwinięcie skończone lub nieskończone.
Skupiliśmy się na podkreśleniu, że wszystkie wymienione dotąd liczby były zbudowane w systemie dziesiątkowym. Nie jest to jednak jedyny system przedstawiania liczb. Innym, popularnym systemem liczbowym jest system dwójkowy, zwany również systemem binarnym. Analogicznie jak w systemie dziesiątkowym mamy cyfry 0 i 1 oraz każda pozycja cyfry w liczbie jest kolejną potęgą liczby 2. System dwójkowy jest wykorzystywany przede wszystkim w informatyce i technice. Komputer wykonuje obliczenia korzystając z tego właśnie systemu, gdyż, jak się przekonamy, jest to znacznie prostsze od wykonywania działań w systemie dziesiątkowym.
Rozważmy liczbę zapisaną w systemie dwójkowym. Aby rozróżnić systemy liczbowe stosuje się zapis . Jeśli jednak wiadomo o jakim systemie jest mowa można zrezygnować z indeksu. Wróćmy do naszej liczby. Jest to liczba 4-cyfrowa, która na pozycji jedności ma cyfrę 1, na pozycji dwójek ma cyfrę 0, na pozycji czwórek ma cyfrę 0 oraz na miejscu ósemek ma cyfrę 1. Stąd
Przeanalizujmy sytuację odwrotną, to znaczy zapiszemy liczbę w systemie binarnym. Aby znaleźć postać dwójkową będziemy wykonywali dzielenie przez 2 i oznaczali resztę z kolejnych dzieleń.
Wypisane powyżej reszty odczytane od dołu do góry utworzą liczbę 25 zapisaną w systemie dwójkowym. Zatem .
Poniżej podajemy liczby od 0 do 14 zapisane w systemie binarnym:
0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1111
Zwróćmy uwagę na mechanizm tworzenia kolejnych liczb w systemie binarnym.
Ogólna postać liczby naturalnej (n-cyfrowej) w systemie binarnym jest następująca:
Zauważmy, że pierwsze (licząc od lewej strony) n-1 cyfr liczby binarnej n-cyfrowej jest podzielne przez 2. Jeśli na ostatnim miejscu (pozycji jedności) występuje 0, to cała liczba jest parzysta, jeśli 1, to liczba jest nieparzysta. Podaliśmy tym samym zarys dowodu następującej obserwacji:
Liczba binarna jest parzysta wtedy i tylko wtedy, gdy na miejscu jedności tej liczby występuje cyfra 0.
Pamiętamy jak proste jest mnożenie przez 10 (dziesięć) w systemie dziesiętnym. Wystarczy bowiem dopisać do danej liczby 0 z prawej strony, przesuwając automatycznie cyfry wyjściowej liczby do przodu o jedno miejsce. Podobnie jest z mnożeniem przez 10 (jeden zero) w systemie binarnym.
Ustalmy teraz pewne oznaczenie.
Liczbę binarną n-cyfrową złożoną z cyfr (czytanych od lewej strony) będziemy oznaczać następująco:
Prawdziwe jest stwierdzenie:
Przemnożenie liczby binarnej przez jest równoznaczne z dopisaniem cyfry 0 z prawej strony tej liczby. To znaczy liczba jest dwa razy większa od liczby .
Dowód tego stwierdzenia jest następujący:
Rozważmy liczbę binarną
Dodanie do ostatniej sumy wyrazu nie zmieni wartości tej sumy, zatem możemy zapisać:
co kończy dowód.
Dotychczas ograniczaliśmy się do analizowania postaci binarnej liczb naturalnych. Teraz zajmiemy się postaciami ułamków w obu systemach liczbowych. Część ułamkowa (o długości m) liczby binarnej ma postać:
Stąd dla przykładu:
Poniżej przedstawiamy algorytm otrzymywania postaci binarnej liczby . Każda kolejna liczba jest mnożona przez 2, aż do uzyskania liczby 2. W międzyczasie spisujemy część całkowitą iloczynu.
 całość 0
 całość 1
 całość 0
 całość 1
KONIEC
Kolejne cyfry spisujemy w kierunku od góry do dołu, tzn
Poszukajmy w analogiczny sposób postaci binarnej liczby :
 całość 0
 całość 1
 całość 0
 całość 1
 całość 1
 całość 0
 całość 0
itd.
Otrzymaliśmy więc ułamek o rozwinięciu nieskończonym, ale okresowym:
Ten przykład pokazuje, że ułamek skończony w systemie dziesiętnym może mieć nieskończone rozwinięcie w systemie dwójkowym. Ma to swoje głębokie konsekwencje w praktyce, szczególnie programistycznej. Liczba 0,35 jest przechowywana w pamięci komputera w postaci binarnej, ale rozwinięcie tej liczby jest nieskończone. Pamięć komputerowa ma swoje ograniczenia, dlatego liczba 0,35 jest dostępna dla użytkownika jedynie w formie bardziej lub mniej dokładnego przybliżenia.
Czytelnik zechce sprawdzić jak ma się sprawa skończoności rozwinięcia w przypadku liczby .
Czy wiesz że...?
wersja BETA
3 (trzy) liczba naturalna następująca po 2 i poprzedzająca 4. 3 jest też cyfrą wykorzystywaną do zapisu liczb w różnych systemach, np. w ósemkowym, dziesiętnym i szesnastkowym systemie liczbowym. Cechą podzielności zapisanej w systemie dziesiętnym liczby przez 3 w systemie dziesiętnym jest podzielność sumy cyfr danej liczby przez 3, np.
pełny tekst
9 (dziewięć) liczba naturalna następująca po 8 i poprzedzająca 10. 9 jest też cyfrą wykorzystywaną do zapisu liczb w różnych systemach, np. w dziesiętnym i szesnastkowym systemie liczbowym. Warunek podzielności zapisanej w systemie dziesiętnym liczby przez 9 to, aby suma cyfr w danej liczbie była podzielna przez 9, np.
pełny tekst
Moduł "Czy wiesz że...?" (wersja testowa, beta): definicje/pojęcia wygenerowane w obrębie tego modułu pochodzą z Wikipedii i udostępniane są na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń.
Dostęp do pełnej wersji każdego hasła (oraz dokładnch informacji na temat licencji, autora oraz edycji) możliwy jest po kliknięciu w odnośnik opisany jako "pełny tekst".
|
|
|
^ |
|
 |
|
Komentarze: |
|
Michał Jędryka
|
Dodano: |19 Sty 2011|, 2011 10:20. -
|
|
I to jest powód, dla którego do wielkości finansowych nie należy stosować liczb zmiennoprzecinkowych. W Pythonie np. służy do tego klasa "decimal".
|
|
|
^ |
|
 |
Powered by
phpBB © 2000, 2002, 2005, 2007 phpBB Group
|