Sunday, 10 December 2017

Metoda biwalentna z podziałem na kolejne metody


Samouczek konwersji binarnej i szesnastkowej Co to są liczby binarne System liczb binarnych występuje wtedy, gdy używane są tylko dwie liczby - 0 i 1. Nazywane jest również podstawą 2. System liczb komputerowych to podstawa 2. Nasz system liczb jest określany jako dziesiętny lub podstawowy 10, ponieważ używamy 10 cyfr (0 - 9), aby utworzyć wszystkie nasze liczby. Istnieje wiele innych baz liczbowych, w tym szesnastkowych, ale łatwiej jest komputerom używać 0 i 1. W elektronice 0 jest wyłączone (zwykle 0 V), a 1 jest włączone (zwykle 5 V). Wszystkie dane komputerowe składają się z 1s i 0s. Każda osoba 1 lub 0 jest trochę. Cztery bity to skubanie. Osiem bitów to bajt. Stamtąd mamy kilobajty, megabajty itd. Ponieważ wszystko jest serią 1s i 0s, CPU musi wykonać każde obliczenie binarnie. Ale zanim jakiekolwiek operacje zostaną wykonane, liczby muszą najpierw zostać przekonwertowane na bazę 2. Zanim jednak przejdziemy do binarnego systemu liczb i konwersji, najpierw zobaczmy, jak działają nasze dziesiętne układy. Po prostu wybierz numer. jak 9345. Jak to mamy Zapamiętaj kiedy wspomniałem, że używamy bazy 10 W matematyce podstawa to liczba podniesiona do potęgi (inna nazwa potęgi to wykładnik). Na przykład 34 wynosi 3 podniesione do czwartej potęgi, co oznacza, że ​​trzykrotnie mnożysz 4 razy (3 3 3 3). Mamy system nazywany systemem wartości miejscowej. Każdy indywidualny numer ma określoną pozycję liczbową. Otrzymujemy te pozycje za pomocą 10 podniesionych do różnych mocy. Zacznij od numeru po prawej stronie. Patrząc na 9345, najbardziej prawy numer 5 znajduje się w tym miejscu (10 1). The 4 znajduje się w dziesiątkach (10 10). Liczba 3 znajduje się w setkach (10 100), a 9 w tysiącach (10 1000). Dotyczy to dowolnej liczby. Im większa liczba, tym więcej wartości miejsc (dziesięć tysięcy, sto tysięcy itd.), Ale w tym przykładzie trzymam go za krótko. A więc mamy: Jeśli weźmiesz każdą liczbę, pomnóż ją przez jej wartość miejsca, dodaj wyniki, otrzymasz 9345. Uwaga: dowolna liczba podniesiona do 0 1. Każda liczba podniesiona do 1. Ta metoda jest używana w bazie 2, z wyjątkiem miejsc, dziesiątek, setek, tysięcy, itd. Masz: jedno miejsce (2), dwa miejsca (2), czwarte miejsce (2) i miejsce ósemek ( 2) itp. Używając powyższego przykładu 10, numer 1011 2 wygląda następująco: jest to ten sam proces dla dowolnego systemu liczbowego. Pamiętaj, że system numerów komputerowych zawsze używa binarnego. Teraz, gdy masz podstawową wiedzę na temat wartości miejsca, czas na rozpoczęcie konwersji Konwersja z binarnego na dziesiętny: Konwersja binarna na dziesiętną jest naprawdę bardzo prosta. Wszystko, co robisz, to zastosowanie tej samej techniki, co na ilustracji wartości miejsca na stronie intro, ale tym razem użyjemy 2 zamiast 10. Na przykład, jeśli chcemy się dowiedzieć, co 110100011 2 znajduje się w naszym systemie liczbowym (podstawa 10) ) robimy co następuje: Zwykle zaczynamy od prawej. Przy każdym numerze podnosisz 2 do swojej mocy, a następnie mnożysz wynik przez cyfrę binarną. Kiedy skończysz, dodaj wszystkie wyniki razem i to jest liczba w bazie 10. Ta metoda służy do konwersji dowolnej liczby bazowej na dziesiętną. Konwersja dziesiętna na binarną: Konwersja dziesiętna na binarną również nie jest trudna, wymaga jedynie trochę więcej pracy. Istnieją dwie metody: sukcesywne dzielenie i odejmowanie wartości za pomocą tabeli. Kolejne dzielenie wymaga ciągłego podziału przez bazę, do której przeliczasz, aż iloraz będzie równy 0. Pozostali tworzą odpowiedź. Jako przykład, skonwertuj 835 na binarny. Najbardziej znaczącym bitem jest lewy numer w odpowiedzi, a najmniej znaczący bit na prawym końcu daje nam odpowiedź: 1101000011 2 Cyfry binarne są zwykle pogrupowane według 4, 8, 16 itd., Więc możemy umieścić kilka 0s po lewej, aby dać nam trzy grupy po cztery. To nie zmienia odpowiedzi. 0011 0100 0011 2 Możesz sprawdzić swoją odpowiedź, przekształcając ją z powrotem w bazę 10. Właśnie przyjrzeliśmy się metodzie podziału z dziesiętnej na dwójkową. Inną metodą jest odejmowanie wartości. Dzięki tej metodzie odejmujesz aż osiągniesz 0. Przekształć 165 na binarny. Zwróć uwagę, że wartość 1 znajduje się tylko pod najwyższą wartością, którą można odjąć od liczby. Wszystko inne jest automatycznie 0 dając nam odpowiedź: 10100101 2. Szesnastkowy: System liczb szesnastkowych (szesnastkowo krótki) używa 16 cyfr do utworzenia wszystkich pozostałych liczb. Celem użycia hexa jest zrozumienie człowieka. Komputery zawsze działają w trybie binarnym (0s i 1s). Posiadanie długiej serii cyfr binarnych komplikuje się, więc programiści musieli wymyślić prostszy sposób ich reprezentowania. Hex grupuje liczby binarne na pakiety 4-bitowe, że tak powiem. Jedna cyfra heksadecymalna reprezentuje cztery bity (zwane skubnięciem). Liczby heksadecymalne mają indeks dolny 16 lub H (D3 16 lub D3H). Ponieważ muszą być użyte pojedyncze znaki, litery A, B, C, D, E, F oznaczają 10-15. Pamiętaj, że kiedy mamy do czynienia z systemami liczbowymi, zawsze zaczynamy od 0. Mamy więc 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Pamięć lokalizacje są wymienione jako wartości szesnastkowe, a wiele razy, gdy pojawi się komunikat o błędzie, system operacyjny (system operacyjny) pokaże Ci lokalizację. Przykład heksadecymalny i liczba bitów: F6AH - 12 bitów BH - 4 bity 78H - 6 bitów Konwersja szesnastkowa na dziesiętną: Jak wspomniano w powyższej sekcji konwersji binarnej, używamy tej samej techniki do konwersji na dziesiętną (podstawa 10) z jakakolwiek inna baza. W takim przypadku zamień 4B7F 16 na Base 10 (dziesiętny). Konwertowanie wartości dziesiętnych na szesnastkowe: Aby przekonwertować z wartości dziesiętnej na szesnastkową, używamy metody dzielenia sukcesywnego omówionej wcześniej, dzielimy tylko przez 16 zamiast 2. Umożliwia konwersję 501 z dziesiętnej na szesnastkową. Zrobiliśmy to, ponieważ nie możemy podzielić 1 przez 16, co pozostawia nam resztę 1. Pisząc odpowiedź, LSD jest zawsze po prawej stronie, a MSD po lewej. Odpowiedź brzmi: 1F5 16 Konwersja szesnastkowa na binarną: Pamiętaj, że heksadecymalnie używa grup czterech bitów, więc możemy użyć poniższej tabeli do konwersji. Zwykła do binarnej, ósemkowa szara Rozwinięty przykładowy konwerter dziesiętny na binarny, sześciokątny konwerter, aby wykonać dziesiętny na binarny , dziesiętna na szesnastkową konwersję dziesiętną na ósemkową online za pomocą prostych metod kolejnych podziałów oraz obliczenia krok po kroku rozwiązały przykładowe problemy. Konwersje dziesiętne można wykonać za pomocą metody kolejnych podziałów lub kolejnych metod mnożenia. Przykładowe problemy zostały osiągnięte przy użyciu następujących po sobie metod dzielenia w celu znalezienia równoważnych liczb w systemach liczb binarnych o liczbie szesnastkowej. Konwersja dziesiętna na binarną Poniższy przykład rozwiązany wraz z obliczaniem krok po kroku konwersji dziesiętnej na binarną pozwala użytkownikom zrozumieć, jak wykonać taką konwersję ręcznie. Konwersja krok po kroku: krok 1: w przypadku konwersji dziesiętnej na binarną przez kolejne dzielenie, podziel liczbę dziesiętną przez 2, aż iloraz osiągnie 1 lub 0. krok 2: zanotuj każdą pozostałą (zwykle 1 lub 0) dla każdego kolejnego podziału przez 2. Pierwszą ostatnią pozostałością jest odpowiednio LSD (najmniej znacząca cyfra lub bit) MSD (najbardziej znacząca cyfra lub bit). krok 3: Ułożenie pozostałej części z MSD na LSD jest równoważną wartością binarną dla danego dziesiętnego. Konwerter dziesiętny na szesnastkowy Poniższy przykład rozwiązany wraz z kalkulacją krok po kroku dla konwersji dziesiętnej na szesnastkową pozwala użytkownikom zrozumieć, jak wykonać takie konwersje ręcznie. Konwersja krok po kroku: krok 1: w przypadku konwersji dziesiętnej na szesnastkową przez kolejne dzielenie, dziel numer dziesiętny przez 16, aż iloraz osiągnie 0 lub mniej niż 16. krok 2: zanotuj każdą pozostałą część (zwykle liczby dziesiętne są mniejsze lub równe 15) dla każdego kolejnego podziału przez 16. Pierwszą ostatnią pozostała jest LSD (najmniej znacząca cyfra lub bit) MSD (najbardziej znacząca cyfra lub bit) odpowiednio. krok 3: Ułożenie pozostałej części z MSD na LSD jest równoważną liczbą szesnastkową dla danego dziesiętnego. Konwerter dziesiętny na ósemkowy Poniższy przykład rozwiązany wraz z obliczaniem krok po kroku dla konwersji dziesiętnej na ósemkową pozwala użytkownikom zrozumieć, jak wykonać takie konwersje ręcznie. Konwersja krok po kroku: krok 1: w przypadku konwersji dziesiętnej na liczbę ósemkową przez kolejne dzielenie, podziel liczbę dziesiętną przez 8, aż iloraz osiągnie 0 lub mniej niż 8. krok 2: zanotuj każdą pozostałą część (zwykle liczby dziesiętne są mniejsze lub równe 7) dla każdego kolejnego podziału przez 8 (normalnie liczby dziesiętne mniejsze lub równe 7). Pierwszą ostatnią resztą jest odpowiednio LSD (najmniej znacząca cyfra lub bit) MSD (najbardziej znacząca cyfra lub bit). krok 3: Ułożenie pozostałej części z MSD na LSD jest równoważną liczbą ósemkową dla danego dziesiętnego. Konwersja liczb jest wykorzystywana w różnych ogólnych aplikacjach cyfrowych, dlatego czasami jest to ważne, aby przeprowadzić konwersję pomiędzy różnymi systemami cyfrowej liczby. Obliczenia krok po kroku rozwiązane przykłady mogą być użyteczne dla użytkowników, aby zrozumieć, w jaki sposób wartości są używane w przykładach, jednak jeśli chodzi o szybkie obliczenia online, ten dziesiętny do binarnego, sześciokątny konwerter pomaga użytkownikowi w weryfikacji takich obliczeń tak szybko jak to możliwe. Przekształcenie reprezentacji liczb przez Lionela E. Deimela Fascynowały mnie reprezentacje liczbowe od czasu, gdy przedstawiono mi je formalnie w gimnazjum. Kiedy po raz pierwszy zacząłem uczyć w szkole podstawowej, musiałem głębiej przemyśleć pracę z reprezentacjami liczb w kontekście komputerów. Poniżej znajduje się fragment i adaptacja z 30-stronicowej ulotki, Notatki o systemach numerycznych, którą przygotowałem na jedną z moich lekcji w 1975 roku. Próbowałem dać moim uczniom lepszy wgląd w konwersję z jednej bazy do drugiej, niż mogliby uzyskać od większości prezentacje tego tematu. Zakładam, że czytelnik zna układy pozycyjne. Istnieje wiele sposobów na konwersję liczby w jednej bazie (podstawa) na liczbę równoważną w innej bazie. Standardowe techniki to wszystkie warianty trzech podstawowych metod. Najprostszą techniką jest być może metoda ekspansji. Załóżmy, że chcemy przekonwertować liczbę binarną 10101.1 na dziesiętną. Możemy to zrobić jedynie używając definicji reprezentacji liczbowej jako skróconego wielomianu, Tak więc możemy napisać 10101.1 2 1 x 2 4 0 x 2 3 1 x 2 2 0 x 2 1 1 x 2 0 1 x 2 -1 16 0 4 0 1 0,5 21,5 10 Ale przypuśćmy, że chcemy pójść w drugą stronę. Jak przekonwertować 21,5 10 na binarne Pisanie 21,5 10 2 x 10 1 1 x 10 0 5 x 10 -1 nie wydaje się być zbyt pomocne. Ale spójrz na to, co otrzymujemy, gdy piszemy ten wielomian w notacji binarnej (10 10 1010 2 i 5 10 101 2) oczywiście: 21,5 10 (2 x 10 1 1 x 10 0 5 x 10 -1) 10 (10 x 1010 1 1 x 1010 0 101 x 1010 -1) 2 (10100 1 0.1) 2 10101.1 2 Powyższe przykłady ilustrują ważny fakt dotyczący technik konwersji, które będziemy wyjaśniać, że mogą być użyte do konwersji z dowolnej bazy do dowolnej innej baza. Należy o tym pamiętać, zwłaszcza, że ​​wiele tekstów wykazuje konwersję z radix-a na radix-b w jedną stronę, a konwersję z radix-b na radix - na inną, co oznacza, że ​​metody konwersji są zasadniczo asymetryczne . Należy jednak przyznać, że metoda ekspansji jest łatwiejsza w użyciu do konwersji liczb binarnych (lub, ogólnie, nie-dziesiętnych) na dziesiętne reprezentacje, niż odwrotnie. Powodem tego jest to, że obliczenia, które należy wykonać, aby przekonwertować z binarnego na dziesiętny, są wykonywane w dziesiętnej arytmetyki. ale te niezbędne do konwersji w innym kierunku muszą być wykonane w arytmetyce binarnej. Jeśli odnosimy się do systemu liczbowego, w którym liczba do przeliczenia jest zapisywana jako system numeru źródłowego i system liczbowy, do którego chcemy dokonać konwersji jako system liczb docelowych. wtedy możemy powiedzieć, że metoda ekspansji wymaga użycia arytmetyki systemu liczby docelowej. W związku z tym, że wszystkie rzeczy są sobie równe, najprawdopodobniej wybieramy metodę ekspansji, jeśli konwertujemy z base-7 na base-10. Idąc w drugą stronę, możemy poszukać innej metody, takiej, w której możemy wykonać konwersję przy użyciu systemu numerów źródłowych. W rzeczywistości dwie pozostałe metody konwersji, które omówimy, wykorzystują arytmetyczną liczbę systemów źródłowych. Są to metoda dzielenia mnożenia i metoda odejmowania. Rozważmy najpierw metodę dzielenia mnożenia. Załóżmy, że mamy dziesiętną liczbę całkowitą, którą chcemy przekonwertować na binarną, powiedzmy, 13 10. Łatwo jest zweryfikować, że 13 10 1101 2. Rozważ teraz następującą procedurę: Podziel liczbę, która ma zostać przekształcona (13), na docelowy podstawnik (2). Wynikiem jest iloraz liczby całkowitej (6) i liczba całkowita (1). Powtórz procedurę, używając ilorazu zamiast oryginalnej dywidendy. Kontynuuj w ten sposób, aż iloraz wynosi 0. Pozostałe tak wygenerowane, gdy są zapisane obok siebie, tworzą pożądaną przez nas reprezentację binarną. Arytmetyka przeprowadzana jest w bazie źródłowej. W szczególności mamy 13 2 6, r 1 6 2 3, r 0 3 2 1, r 1 1 2 0, r 1 Zauważ, że cyfry odpowiedzi są generowane od prawej do lewej. Powyższa procedura wydaje się działać. Dlaczego wskazówkę można znaleźć, uważnie przyglądając się pierwszemu krokowi w przykładzie. Liczba do przekonwertowania jest równa lub nieparzysta. Jeśli jest parzysty, najbardziej prawy bit reprezentacji binarnej musi wynosić 0, jeśli jest nieparzysty, że bit musi wynosić 1. (Dlaczego) Kiedy liczba parzysta jest dzielona przez 2, pozostała wartość wynosi 0. Kiedy liczba nieparzysta jest dzielona przez 2, reszta to 1. Możemy sprawdzić, czy ta procedura działa, patrząc na nią bardziej formalnie. Dla nieujemnego indeksu i. niech A i będzie liczbą całkowitą. Niech to będzie nasza docelowa podstawa. Niech A i 1 będzie ilorazem całkowitym A i it. i niech r będzie całkowitą resztą. Wtedy oczywiście ri jest liczbą całkowitą z przedziału od 0 do t -1 włącznie, tak jak musi być, w reprezentacji liczby całkowitej bazowej. Jeśli A 0 jest liczbą całkowitą, która ma zostać przekształcona w bazę. możemy zapisać następującą równoważność, gdzie podstawowa reprezentacja A 0 to b mb m -1. b 1 b 0: Rozważ pierwszy podział. Mamy: teraz przypuśćmy, że proces ten został przeprowadzony n razy i opracowaliśmy prawe n cyfr naszego wyniku, a mianowicie b n -1 b n -2. b 0. Ponieważ podzieliliśmy pierwotną liczbę całkowitą n razy, ignorując resztki), wykonaliśmy kolejny podział, który stanowi rekurencyjny dowód, że procedura działa. Analogiczna metoda służy do konwersji ułamków. W tym przypadku jednak pomnożymy przez podstawę (stąd metoda dzielenia mnożenia). Otrzymujemy nasze cyfry z całkowitej części dowolnego produktu i kontynuujemy pomnażanie używając tylko części ułamkowej. Łatwo jest przekonać się, że ta procedura działa również. Przykład podano poniżej. Zauważ, że 0.78125 10 0.11001 2. 0,78125 x 2 1,56250, wygenerowana cyfra to 1 0,5625 x 2 1,1250, wygenerowana cyfra to 1 0,125 x 2 0,250, wygenerowana cyfra 0 0,25 x 2 0,50, wygenerowana cyfra 0 0,5 x 2 1,0, cyfra generowana to 1 Oto kolejny przykład, ułamek dziesiętny 0,3. Przedstawia ułamek, który się powtarza. w każdym przypadku w postaci binarnej. 0,3 x 2 0,6, wygenerowana cyfra to 0 0,6 x 2 1,2, wygenerowana cyfra to 1 0,2 x 2 0,4, wygenerowana cyfra to 0,4 x 2 0,8, cyfra generuje 0 0,8 x 2 1,6, cyfra generuje 1 0,6 x 2 1,2, wygenerowana cyfra to 1 (powtarza drugą linię) Dlatego mamy to 0,3 10 0,0100110011001. 2. Zwróć uwagę, że podczas konwersji ułamków generujemy cyfry od lewej do prawej strony. Generalnie cyfry są generowane przez metodę mnożenia z punktu wyjścia radix. Możemy podsumować tę metodę konwersji w następujący sposób: Napisz punkt docelowy dla odpowiedzi Weź liczbę całkowitą (ułamek) w systemie numeru źródłowego i podziel (pomnóż) przez podstawę docelową. Zapisz pozostałą część (liczbę całkowitą) wygenerowaną po lewej (prawej stronie) ostatniego zapisanego symbolu. Czy iloraz (ułamek) 0 Jeśli tak, przestań. W przeciwnym razie iloraz jest nową liczbą całkowitą (ułamek jest nową frakcją). Przejdź do kroku 2. Ostatnim podstawowym schematem konwersji, który należy tutaj przeanalizować, jest metoda odejmowania. Zasadniczo nie jest to technika szczególnie skuteczna. W niektórych szczególnych sytuacjach jest to jednak wygodne i intuicyjne. Rozważ przekształcenie dziesiętnej liczby całkowitej w inną podstawę. Na przykład, powiedzmy, że chcemy przekonwertować 16 10 na notację base-3. Zauważamy, że 3 2 9 to największa potęga 3 mniejsza lub równa 16. Liczymy 1 i odejmujemy 9 od 16, pozostawiając 7. Teraz pytamy, czy możemy ponownie odjąć 3 2. Ponieważ nie możemy, 1 musi być na lewo od 3-cyfrowej bazy. Teraz widzimy, czy możemy odjąć 3 1. W rzeczywistości jesteśmy cantwice. Robimy to i ustalamy 2 jako następną bazę-3 cyfry. Teraz mamy resztę 1, z której możemy odjąć 3 0 dokładnie jeden raz. W ten sposób odkrywamy, że 16 10 121 3. Ta metoda jest szczególnie interesująca przy zamianie liczb całkowitych na binarne, jeśli pamiętamy moce 2. Dla konwersji na binarne, oczywiście, nigdy nie musimy się martwić o odejmowanie mocy z radix więcej niż raz. Metodę odejmowania można również stosować do przekształcania frakcji. Zwróć uwagę, że do konwersji liczb całkowitych i ułamków cyfry w reprezentacji docelowej są generowane od lewej do prawej. Zauważ również, że patrząc na problem z nieco innej strony, metoda odejmowania może stać się metodą dodawania. Zamiast odejmować moce bazy, możemy skonstruować nasz wynik, dodając moce podstawy do 0, zawsze próbując utworzyć sumę mniejszą lub równą konwertowanej liczbie. Czytelnik może łatwo opracować szczegóły. W powyższej dyskusji zilustrowaliśmy trzy metody konwertowania liczb między podstawami, z których każda, z zasady, może być wykorzystana do dowolnego problemu konwersji. Podczas pracy nad konkretnym problemem wybrana metoda konwersji jest zwykle wybierana na podstawie systemu liczb, w którym najwygodniej jest robić arytmetyczną. Zwykle chcemy unikać arytmetyki w nietypowych podstawach (np. 7). Wykonując konwersje ręcznie, staramy się wybrać metodę, która pozwala na użycie arytmetyki dziesiętnej, choć czasami wygodne jest użycie obliczeń binarnych. Konwersje między niewygodnymi zasadami zwykle wymagają pośredniej konwersji. Konwersja z base-5 na base-7 może na przykład spowodować konwersję do base-10. Poniższa tabela zawiera przewodnik dotyczący wyboru metody konwersji: UŻYWANY ARITHMETIC BASE

No comments:

Post a Comment