Konwersja na różne systemy liczbowe z rozwiązaniem. Systemy liczbowe

2.3. Konwersja liczb z jednego systemu liczbowego na inny

2.3.1. Konwersja liczb całkowitych z jednego systemu liczbowego na inny

Możliwe jest sformułowanie algorytmu konwersji liczb całkowitych z systemu radix P w układ z podstawą Q :

1. Wyraź podstawę nowego systemu liczbowego w liczbach oryginalny system obliczenia i wszystkie kolejne czynności przeprowadzane są w oryginalnym systemie liczbowym.

2. Konsekwentnie dziel podaną liczbę i otrzymane ilorazy całkowite przez podstawę nowego systemu liczbowego, aż otrzymamy iloraz mniejszy od dzielnika.

3. Wynikowe reszty, które są cyframi liczby w nowy system liczby, należy dostosować je do alfabetu nowego systemu liczbowego.

4. Ułóż liczbę w nowym systemie liczbowym, zapisując ją zaczynając od ostatniej reszty.

Przykład 2.12. Tłumaczyć liczba dziesiętna 173 10 cali układ ósemkowy notacja:

Otrzymujemy: 173 10 =255 8

Przykład 2.13. Konwertuj liczbę dziesiętną 173 10 na system liczb szesnastkowych:

Otrzymujemy: 173 10 = AD 16.

Przykład 2.14. Zamień liczbę dziesiętną 11 10 na system binarny Rachunek Wygodniej jest przedstawić sekwencję działań omówionych powyżej (algorytm tłumaczenia) w następujący sposób:

Otrzymujemy: 11 10 =1011 2.

Przykład 2.15. Czasami wygodniej jest zapisać algorytm tłumaczenia w formie tabeli. Zamieńmy liczbę dziesiętną 363 10 na liczbę binarną.

Rozdzielacz

Otrzymujemy: 363 10 =101101011 2

2.3.2. Konwersja liczb ułamkowych z jednego systemu liczbowego na inny

Można sformułować algorytm przeliczania ułamka właściwego na zasadę P na ułamek o podstawie Q:

1. Wyraź podstawę nowego systemu liczbowego liczbami z pierwotnego systemu liczbowego i wszystkie kolejne czynności wykonuj w pierwotnym systemie liczbowym.

2. Konsekwentnie mnożymy podane liczby i powstałe części ułamkowe iloczynów przez podstawę nowego układu, aż frakcja dzieła nie będą równy zeru lub zostanie osiągnięta wymagana dokładność reprezentacji liczb.

3. Powstałe części całkowite iloczynów będące cyframi liczby w nowym systemie liczbowym należy dostosować do alfabetu nowego systemu liczbowego.

4. Utwórz część ułamkową liczby w nowym systemie liczbowym, zaczynając od części całkowitej pierwszego iloczynu.

Przykład 2.17. Konwertuj liczbę 0,65625 · 10 na system liczb ósemkowych.

Otrzymujemy: 0,65625 10 =0,52 8

Przykład 2.17. Konwertuj liczbę 0,65625 10 na system liczbowy szesnastkowy.

X 16

Otrzymujemy: 0,65625 10 =0,A8 1

Przykład 2.18. Zamień ułamek dziesiętny 0,5625 10 na system liczb binarnych.

X 2

X 2

X 2

X 2

Otrzymujemy: 0,5625 10 = 0,1001 2

Przykład 2.19. Zamień ułamek dziesiętny 0,7 10 na system binarny.

Oczywiście proces ten może trwać w nieskończoność, dając coraz więcej nowych znaków w obrazie binarnego odpowiednika liczby 0,7 · 10. Zatem w czterech krokach otrzymujemy liczbę 0,1011 2, a w siedmiu krokach liczbę 0,1011001 2, która jest dokładniejszą reprezentacją liczby 0,7 10 w systemie binarnym system liczbowy i itd. Taki niekończący się proces kończy się w pewnym momencie, gdy uznaje się, że uzyskano wymaganą dokładność reprezentacji liczbowej.

2.3.3. Tłumaczenie dowolnych liczb

Tłumaczenie dowolnych liczb, tj. liczby zawierające części całkowite i ułamkowe są tłumaczone oddzielnie cała część, osobno - ułamkowe. W końcowym zapisie wynikowej liczby część całkowitą oddziela się od części ułamkowej przecinkiem (kropką).

Przykład 2.20. Konwertuj liczbę 17,25 · 10 na system liczb binarnych.

Otrzymujemy: 17,25 10 =1001,01 2

Przykład 2.21. Zamień liczbę 124,25 10 na system ósemkowy.

Otrzymujemy: 124,25 10 =174,2 8

2.3.4. Konwersja liczb o podstawie 2 na podstawie 2 n i odwrotnie

Tłumaczenie liczb całkowitych. Jeśli podstawą systemu liczb q-arnych jest potęga 2, wówczas konwersję liczb z systemu liczb q-ary na system liczb 2-arnych i odwrotnie można przeprowadzić przy użyciu więcej proste zasady. Aby zapisać liczbę binarną całkowitą w systemie liczbowym o podstawie q=2 n, potrzebujemy:

1. Podziel liczbę binarną od prawej do lewej na grupy po n cyfr każda.

2. Jeżeli ostatnia lewa grupa ma mniej niż n cyfr, to należy ją uzupełnić z lewej strony zerami do wymaganej liczby cyfr.

Przykład 2.22. Liczba 101100001000110010 2 zostanie przekonwertowana do systemu ósemkowego.

Liczbę od prawej do lewej dzielimy na triady i pod każdą z nich wpisujemy odpowiednią cyfrę ósemkową:

Otrzymujemy ósemkową reprezentację pierwotnej liczby: 541062 8 .

Przykład 2.23. Liczba 1000000000111110000111 2 zostanie przekonwertowana na system liczb szesnastkowych.

Liczbę od prawej do lewej dzielimy na tetrady i pod każdą z nich wpisujemy odpowiednią cyfrę szesnastkową:

Otrzymujemy szesnastkową reprezentację oryginalnej liczby: 200F87 16.

Tłumaczenie liczby ułamkowe. Aby zapisać ułamkową liczbę binarną w systemie liczbowym o podstawie q=2 n, potrzebujesz:

1. Podziel liczbę binarną od lewej do prawej na grupy po n cyfr każda.

2. Jeżeli ostatnia grupa po prawej stronie ma mniej niż n cyfr, należy ją uzupełnić po prawej stronie zerami do wymaganej liczby cyfr.

3. Rozważ każdą grupę jako n-bitową liczbę binarną i zapisz ją odpowiednią cyfrą w systemie liczbowym o podstawie q=2 n.

Przykład 2.24. Liczba 0,10110001 2 zostanie przekonwertowana na system liczb ósemkowych.

Liczbę od lewej do prawej dzielimy na triady i pod każdą z nich zapisujemy odpowiednią cyfrę ósemkową:

Otrzymujemy ósemkową reprezentację pierwotnej liczby: 0,542 8 .

Przykład 2.25. Liczba 0,100000000011 2 zostanie przekonwertowana na system liczb szesnastkowych. Liczbę od lewej do prawej dzielimy na tetrady i pod każdą z nich wpisujemy odpowiednią cyfrę szesnastkową:

Otrzymujemy szesnastkową reprezentację oryginalnej liczby: 0,803 16

Tłumaczenie dowolnych liczb. Aby zapisać dowolną liczbę binarną w systemie liczbowym o podstawie q=2 n, należy:

1. Podziel część całkowitą danej liczby binarnej od prawej do lewej, a część ułamkową od lewej do prawej na grupy po n cyfr każda.

2. Jeżeli ostatnie grupy po lewej i/lub prawej stronie mają mniej niż n cyfr, to należy je uzupełnić po lewej i/lub prawej stronie zerami do wymaganej liczby cyfr;

3. Rozważ każdą grupę jako n-bitową liczbę binarną i zapisz ją odpowiednią cyfrą w systemie liczbowym o podstawie q = 2 n

Przykład 2.26. Przekonwertujmy liczbę 111100101.0111 2 na system liczb ósemkowych.

Dzielimy część całkowitą i ułamkową liczby na triady i pod każdą z nich wpisujemy odpowiednią cyfrę ósemkową:

Otrzymujemy ósemkową reprezentację pierwotnej liczby: 745,34 8 .

Przykład 2.27. Liczba 11101001000,11010010 2 zostanie przekonwertowana na system liczb szesnastkowych.

Dzielimy część całkowitą i ułamkową liczby na zeszyty i pod każdym z nich wpisujemy odpowiednią cyfrę szesnastkową:

Otrzymujemy szesnastkową reprezentację pierwotnej liczby: 748,D2 16.

Zamiana liczb z systemów liczbowych o podstawie q=2n na binarny. W celu dowolna liczba, zapisaną w systemie liczbowym o podstawie q=2 n, przeliczoną na system dwójkowy, należy każdą cyfrę tej liczby zastąpić jej n-cyfrowym odpowiednikiem w systemie dwójkowym.

Przykład 2.28.Przekształćmy liczbę szesnastkową 4AC35 16 na system binarny.

Zgodnie z algorytmem:

Otrzymujemy: 1001010110000110101 2 .

Zadania do samodzielnego wykonania (Odpowiedzi)

2,38. Wypełnij tabelę, w której w każdym wierszu należy zapisać tę samą liczbę całkowitą w różnych systemach liczbowych.

Dwójkowy

ósemkowy

Dziesiętny

Szesnastkowy

2,39. Wypełnij tabelę, w której w każdym wierszu należy zapisać tę samą liczbę ułamkową w różnych systemach liczbowych.

Dwójkowy

ósemkowy

Dziesiętny

Szesnastkowy

2.40. Wypełnij tabelę, w której w każdym wierszu ta sama dowolna liczba (liczba może zawierać zarówno część całkowitą, jak i ułamkową) musi być zapisana w różnych systemach liczbowych.

Dwójkowy

ósemkowy

Dziesiętny

Szesnastkowy

59.B

Konwersja liczb z jednego systemu liczbowego na inny jest ważną częścią arytmetyki maszynowej. Rozważmy podstawowe zasady tłumaczenia.

1. Aby zamienić liczbę binarną na dziesiętną, należy zapisać ją w postaci wielomianu składającego się z iloczynu cyfr liczby i odpowiadającej jej potęgi 2 i obliczyć zgodnie z zasadami arytmetyka dziesiętna:

Podczas tłumaczenia wygodnie jest skorzystać z tabeli potęg dwójki:

Tabela 4. Potęgi liczby 2

n (stopień)

Przykład.

2. Do tłumaczenia liczba ósemkowa w systemie dziesiętnym należy zapisać go w postaci wielomianu składającego się z iloczynów cyfr liczby i odpowiedniej potęgi liczby 8 i obliczyć zgodnie z zasadami arytmetyki dziesiętnej:

Podczas tłumaczenia wygodnie jest skorzystać z tabeli potęg ośmiu:

Tabela 5. Potęgi liczby 8

n (stopień)

Przykład. Zamień liczbę na system dziesiętny.

3. Do tłumaczenia liczba szesnastkowa w systemie dziesiętnym należy zapisać go w postaci wielomianu składającego się z iloczynów cyfr liczby i odpowiedniej potęgi liczby 16 i obliczyć zgodnie z zasadami arytmetyki dziesiętnej:

Podczas tłumaczenia jest wygodny w użyciu nalot mocy nr 16:

Tabela 6. Potęgi liczby 16

n (stopień)

Przykład. Zamień liczbę na system dziesiętny.

4. Aby zamienić liczbę dziesiętną na system binarny, należy ją kolejno podzielić przez 2, aż pozostanie mniejsza lub równa 1. Liczbę w systemie binarnym zapisuje się jako sekwencję wyniku ostatniego dzielenia i reszty z podział w Odwrotna kolejność.

Przykład. Zamień liczbę na system binarny.

5. Aby zamienić liczbę dziesiętną na system ósemkowy, należy ją kolejno podzielić przez 8, aż pozostanie mniejsza lub równa 7. Liczbę w systemie ósemkowym zapisuje się jako ciąg cyfr ostatniego wyniku dzielenia i reszta dzielenia w odwrotnej kolejności.

Przykład. Zamień liczbę na system ósemkowy.

6. Aby zamienić liczbę dziesiętną na system szesnastkowy, należy ją sukcesywnie dzielić przez 16, aż pozostanie mniejsza lub równa 15. Liczba w system szesnastkowy zapisywany jest jako ciąg cyfr wyniku ostatniego dzielenia i reszty dzielenia w odwrotnej kolejności.

Przykład. Konwertuj liczbę na system liczbowy szesnastkowy.

Cele Lekcji:

  • powtórz przestudiowany materiał na temat systemu liczbowego;
  • naucz się konwertować liczbę z systemu dziesiętnego na dowolny inny system liczb pozycyjnych i odwrotnie;
  • opanować zasady konwersji liczb z jednego systemu na drugi;
  • rozwijać logiczne myślenie.

Podczas zajęć

Na początku lekcji krótki przegląd i sprawdzenie pracy domowej.

W jakiej formie informacje liczbowe są prezentowane w pamięci komputera?

Do czego służą systemy liczbowe?

Jakie znasz rodzaje systemów liczbowych? Podaj własne przykłady.

Czym systemy pozycyjne różnią się od systemów niepozycyjnych?

Celem naszej lekcji jest nauczenie się, jak konwertować liczbę z system dziesiętny do dowolnego innego systemu liczb pozycyjnych i odwrotnie. Ale najpierw przyjrzymy się, jak to możliwe

reprezentują dowolną nieujemną liczbę całkowitą:

W systemy pozycyjne wartość zapisu liczby całkowitej określa następująca reguła: niech a n a n-1 a n-2 …a 1 a 0 będzie zapisem liczby A, a i są cyframi, wówczas

gdzie p jest liczbą całkowitą większą niż 1, co nazywa się podstawą systemu liczbowego

Aby dla danego p można było zapisać dowolną nieujemną liczbę całkowitą według wzoru (1) i co więcej, w sposób unikalny wartości liczbowe różne liczby muszą być różnymi liczbami całkowitymi należącymi do przedziału od 0 do p-1.

1) System dziesiętny

liczby: 0,1,2,3,4,5,6,7,8,9

liczba 5735 = 5 10 3 +7 10 2 +3 10 1 +8 10 0

2) System trójskładnikowy

liczby: 0,1,2

liczba 201 3 = 2,3 2 +0,3 1 +1,3 0

Uwaga: indeks dolny w liczbie wskazuje podstawę systemu liczbowego, w którym liczba jest zapisana. W systemie dziesiętnym indeksu nie trzeba zapisywać.

Reprezentacja liczb ujemnych i ułamkowych:

We wszystkich systemach pozycyjnych znak „–” służy do zapisywania liczb ujemnych, podobnie jak w systemie dziesiętnym. Przecinek służy do oddzielania części całkowitej liczby od części ułamkowej. Wartość wpisu an n a n-1 a n-2 …a 1 a 0 , a -1 a -2 …a m-2 a m-1 a m liczby A wyznacza wzór będący uogólnieniem Formuła 1):

75,6 = 7,10 1 +5,10 0 +6,10 –1

–2,314 5 = –(2 5 0 +3 5 –1 +1 5 –2 +4 5 –3)

Konwersja liczb z dowolnego systemu liczbowego na dziesiętny:

Należy rozumieć, że przy tłumaczeniu liczby z jednego systemu liczbowego na inny wartość ilościowa liczby nie zmienia się, zmienia się jedynie forma zapisu liczby, tak jak przy tłumaczeniu nazwy liczby, na przykład z Rosyjski na angielski.

Konwersja liczb z dowolnego systemu liczbowego na dziesiętny odbywa się poprzez bezpośrednie obliczenia przy użyciu wzoru (1) dla liczb całkowitych i wzoru (2) dla ułamków.

Konwersja liczb z systemu dziesiętnego na dowolny system liczbowy.

Zamiana liczby z systemu dziesiętnego na system o podstawie p polega na znalezieniu współczynników ze wzoru (2). Czasami łatwo to zrobić prosty wybór. Załóżmy na przykład, że musisz przekonwertować liczbę 23,5 na system ósemkowy. Łatwo zauważyć, że 23,5 = 16+7+0,5 = 2,8+7+4/8 = 2,8 1 +7,8 0 +4,8 –1 =27,48. Wiadomo, że odpowiedź nie zawsze jest taka oczywista. Ogólnie rzecz biorąc, stosuje się metodę osobnego przeliczania części całkowitej i ułamkowej liczby.

Do konwersji liczb całkowitych stosuje się następujący algorytm (uzyskany na podstawie wzoru (1)):

1. Znajdź iloraz i resztę przy dzieleniu liczby przez p. Reszta będzie następną cyfrą ai (j=0,1,2...) liczby w nowym systemie liczbowym.

2. Jeżeli iloraz jest równy zero, to tłumaczenie liczby jest zakończone, w przeciwnym razie do ilorazu stosujemy punkt 1.

Uwaga 1. Cyfry ai w zapisie liczbowym numerowane są od prawej do lewej.

Uwaga 2. Jeżeli p>10, to konieczne jest wprowadzenie zapisu dla liczb o wartościach liczbowych większych lub równych 10.

Zamień liczbę 165 na system liczbowy z przegrodą.

165:7 = 23 (reszta 4) => a 0 = 4

23:7 = 3 (reszta 2) => a 1 = 2

3:7 = 0 (reszta 3) => a 2 = 3

Zapiszmy wynik: a 2 a 1 a 0 , tj. 3247.

Po sprawdzeniu za pomocą wzoru (1) upewnimy się, że tłumaczenie jest poprawne:

3247=3,7 2 +2,7 1 +4,7 0 =3,49+2,7+4 = 147+14+4 = 165.

Do przeliczenia części ułamkowych liczb stosuje się algorytm otrzymany na podstawie wzoru (2):

1. Pomnóż część ułamkową liczby przez p.

2. Częścią całkowitą wyniku będzie kolejna cyfra am (m = –1, –2, –3…) zapisu liczby w nowym systemie liczbowym. Jeśli część ułamkowa wyniku wynosi zero, wówczas tłumaczenie liczby jest zakończone, w przeciwnym razie stosujemy do niej krok 1.

Uwaga 1. Cyfry a m w zapisie liczbowym są ułożone od lewej do prawej w kolejności rosnącej wartości bezwzględnej m.

Uwaga 2. Zwykle liczba cyfr ułamkowych nowe wejście liczba jest z góry ograniczona. Pozwala to na wykonanie przybliżonego tłumaczenia z zadaną dokładnością. W przypadku ułamków nieskończonych takie ograniczenie zapewnia skończoność algorytmu.

Konwertuj liczbę 0,625 na system liczb binarnych.

0,625 2 = 1,25 (część całkowita 1) => a -1 =1

0,25 2 = 0,5 (część całkowita 0) => a- 2 = 0

0,5 2 = 1,00 (część całkowita 1) => a- 3 = 1

Zatem 0,62510 = 0,1012

Po sprawdzeniu za pomocą wzoru (2) upewnimy się, że tłumaczenie jest poprawne:

0,1012=1,2 -1 +0,2- 2 +1,2 -3 =1/2+1/8 = 0,5+0,125 = 0,625.

Konwertuj liczbę 0,165 na czwartorzędowy system liczbowy, ograniczając ją do czterech czwartorzędowych cyfr.

0,165 4 = 0,66 (część całkowita 0) => a -1 =0

0,66 4 = 2,64 (część całkowita 2) => a -2 = 2

0,64 4 = 2,56 (część całkowita 2) => a -3 = 2

0,56 4 = 2,24 (część całkowita 2) => a -4 = 2

Zatem 0,16510" 0,02224

Zróbmy to tłumaczenie odwrotne aby upewnić się, że błąd bezwzględny nie przekracza 4–4:

0,02224 = 0,4 -1 +2,4 -2 +2,4 -3 +2,4 -4 = 2/16+2/64+2/256 = 1/8+1/32+1/ 128 = 21/128 = 0,1640625

|0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625

Konwersja liczb z jednego dowolnego systemu na inny

W takim przypadku należy najpierw przekonwertować liczbę na system dziesiętny, a następnie z systemu dziesiętnego na wymagany.

Do konwersji liczb w przypadku systemów o wielu podstawach stosuje się specjalną metodę.

Niech p i q będą podstawami dwóch systemów liczbowych. Będziemy nazywać te systemy systemami liczbowymi o wielu podstawach, jeśli p = qn lub q = pn, gdzie n jest liczbą naturalną. Na przykład systemy liczbowe o podstawach 2 i 8 są systemami wielokrotnymi.

Niech p = qn i musisz przekonwertować liczbę z systemu liczbowego o podstawie q na system liczbowy o podstawie p. Podzielmy część całkowitą i ułamkową liczby na grupy składające się z n kolejno zapisanych cyfr po lewej i prawej stronie przecinka dziesiętnego. Jeśli liczba cyfr w części całkowitej liczby nie jest wielokrotnością n, należy dodać odpowiednią liczbę zer po lewej stronie. Jeżeli liczba cyfr w części ułamkowej liczby nie jest wielokrotnością n, wówczas po prawej stronie dodawane są zera. Każda taka grupa cyfr jest liczbą w stary system numer będzie odpowiadał jednej cyfrze liczby w nowym systemie numeracyjnym.

Przekonwertujmy 1100001.111 2 na czwartorzędowy system liczbowy.

Dodając zera i wybierając pary liczb, otrzymamy 01100001.11102.

Przetłumaczmy teraz każdą parę cyfr osobno, korzystając z sekcji Tłumaczenie liczb z jednego dowolnego systemu na inny.

Zatem 1100001.1112 = 01100001.11102 = 1201.324.

Załóżmy teraz, że musimy przejść z układu o większej podstawie q do układu o mniejszej podstawie p, tj. q = przyp. W tym przypadku jedna cyfra liczby w starym systemie liczbowym odpowiada n cyfrom liczby w nowym systemie liczbowym.

Przykład: Sprawdźmy poprzednie tłumaczenie liczby.

1201,324 = 1100001,11102=1100001,1112

W systemie szesnastkowym występują liczby o wartościach liczbowych 10,11,12, 13,14,15. Aby je oznaczyć, użyj pierwszych sześciu liter alfabetu łacińskiego A, B, C, D, E, F.

Oto tabela liczb od 0 do 16 zapisanych w systemach liczbowych o podstawach 10, 2, 8 i 16.

Liczba w systemie dziesiętnym 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
W ósemce 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
W formacie binarnym 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
W systemie szesnastkowym 0 1 2 3 4 5 6 7 8 9 A B C D mi F 10

Aby zapisać cyfry szesnastkowe, możesz także użyć małych liter łacińskich a-f.

Przykład: Przekonwertujmy liczbę 110101001010101010100.11 2 na system liczb szesnastkowych.

Skorzystajmy z krotności podstaw systemów liczbowych (16=2 4). Pogrupujmy liczby po cztery, dodając wymaganą liczbę zer po lewej i prawej stronie

000110101001010101010100,1100 2

i sprawdzając tabelę, otrzymujemy: 1A9554,C 16

Wniosek:

To, w jakim systemie liczbowym najlepiej zapisywać liczby, jest kwestią wygody i tradycji. Z technicznego punktu widzenia wygodne jest stosowanie w komputerze systemu binarnego, ponieważ do zapisania liczby wykorzystuje się tylko dwie cyfry 0 i 1, co można przedstawić za pomocą dwóch łatwo rozróżnialnych stanów „brak sygnału” i „jest sygnał”. sygnał."

Wręcz przeciwnie, obcowanie z liczbami binarnymi jest niewygodne, ponieważ są one dłuższe niż liczby dziesiętne i zawiera wiele powtarzających się cyfr. Dlatego jeśli to konieczne, pracuj z maszynowymi reprezentacjami liczb, używaj systemów liczbowych ósemkowych lub szesnastkowych. Podstawą tych systemów są liczby całkowite potęgi dwójki, dlatego liczby z tych systemów można łatwo przekształcić na binarne i odwrotnie.

Zapisz zadanie domowe:

a) Zapisz daty urodzenia wszystkich członków rodziny w różnych systemach liczbowych.

b) Przekonwertuj liczby z postaci binarnej na ósemkową i szesnastkową, a następnie sprawdź wyniki, wykonując odwrotną konwersję:

a) 1001111110111.011 2;

Osoby przystępujące do egzaminu Unified State Exam i nie tylko...

Dziwne, że na lekcjach informatyki w szkołach zwykle pokazują uczniom najbardziej złożony i niewygodny sposób konwertowania liczb z jednego systemu na drugi. Metoda ta polega na kolejnym podzieleniu pierwotnej liczby przez podstawę i zebraniu resztek z dzielenia w odwrotnej kolejności.

Na przykład musisz przekonwertować liczbę 810 10 na binarną:

Wynik zapisujemy w odwrotnej kolejności od dołu do góry. Okazuje się, że 81010 = 11001010102

Jeśli chcesz przekonwertować na system binarny, całkiem duże liczby, wówczas drabina podziału przybiera wielkość budynku wielopiętrowego. A jak zebrać wszystkie zera i jedyneki i nie przegapić ani jednej?

W Ujednolicony program egzaminu państwowego w informatyce obejmuje kilka zadań związanych z tłumaczeniem liczb z jednego systemu na drugi. Zazwyczaj jest to konwersja pomiędzy systemem ósemkowym, szesnastkowym i binarnym. Są to sekcje A1, B11. Ale są też problemy z innymi systemami liczbowymi, jak na przykład w sekcji B7.

Przypomnijmy na początek dwie tabele, które warto poznać na pamięć tym, którzy wybierają informatykę jako swój przyszły zawód.

Tabela uprawnień liczby 2:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Można go łatwo uzyskać, mnożąc poprzednią liczbę przez 2. Jeśli więc nie pamiętasz wszystkich tych liczb, pozostałe nie są trudne do uzyskania w umyśle z tych, które pamiętasz.

Tabela liczby binarne od 0 do 15 w postaci szesnastkowej:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D mi F

Brakujące wartości można również łatwo obliczyć, dodając 1 do znanych wartości.

Konwersja liczb całkowitych

Zacznijmy więc od bezpośredniej konwersji do systemu binarnego. Weźmy tę samą liczbę 810 10. Musimy rozłożyć tę liczbę na części równe potęgom dwójki.

  1. Szukamy potęgi dwójki najbliższej 810 i nieprzekraczającej jej. To jest 2 9 = 512.
  2. Odejmij 512 od 810, otrzymamy 298.
  3. Powtarzaj kroki 1 i 2, aż nie pozostaną żadne jedynki ani zera.
  4. Mamy to tak: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
Istnieją dwie metody, możesz użyć dowolnej z nich. Jak łatwo zauważyć, że w dowolnym systemie liczbowym jego podstawa wynosi zawsze 10. Kwadrat podstawy będzie zawsze wynosił 100, a sześcian 1000. Oznacza to, że stopień podstawy systemu liczbowego wynosi 1 (jeden) i kryje się za nim tyle zer, ile jest stopnia.

Metoda 1: Ułóż 1 według rang wskaźników terminów. W naszym przykładzie są to 9, 8, 5, 3 i 1. Pozostałe miejsca będą zawierały zera. Otrzymaliśmy więc binarną reprezentację liczby 810 10 = 1100101010 2. Jednostki umieszcza się na 9., 8., 5., 3. i 1. miejscu, licząc od prawej do lewej od zera.

Metoda 2: Zapiszmy wyrazy jako potęgi dwójki pod sobą, zaczynając od największego.

810 =

Teraz dodajmy te kroki razem, jak składanie wentylatora: 1100101010.

To wszystko. Jednocześnie problem „ile jednostek znajduje się w zapisie binarnym liczby 810?” również został po prostu rozwiązany.

Odpowiedź jest taka, ile jest wyrazów (potęg dwójki) w tej reprezentacji. 810 ma ich 5.

Teraz przykład jest prostszy.

Przekonwertujmy liczbę 63 na system liczbowy pięcioarnikowy. Najbliższa potęga od 5 do 63 to 25 (kwadrat 5). Kostka (125) będzie już dużo. Oznacza to, że 63 leży pomiędzy kwadratem 5 a sześcianem. Następnie wybierzemy współczynnik dla 5 2. To jest 2.

Otrzymujemy 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5.

I wreszcie bardzo łatwe tłumaczenia między systemem 8 i szesnastkowym. Ponieważ ich podstawą jest potęga dwójki, tłumaczenie odbywa się automatycznie, po prostu poprzez zastąpienie liczb ich reprezentacją binarną. W systemie ósemkowym każdą cyfrę zastępuje się trzema cyframi binarnymi, a w systemie szesnastkowym czterema. W takim przypadku wymagane są wszystkie zera wiodące, z wyjątkiem najbardziej znaczącej cyfry.

Przekonwertujmy liczbę 547 8 na binarną.

547 8 = 101 100 111
5 4 7

Jeszcze jedno, na przykład 7D6A 16.

7D6A 16 = (0)111 1101 0110 1010
7 D 6 A

Przekształćmy liczbę 7368 na system szesnastkowy Najpierw zapiszmy liczby w trójkach, a następnie podzielmy je od końca na czwórki: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16. Przekonwertujmy liczbę C25 16 na system ósemkowy. Najpierw zapisujemy liczby w czwórkach, a następnie dzielimy je od końca na trójki: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8. Teraz spójrzmy na konwersję z powrotem na dziesiętny. Nie jest to trudne, najważniejsze jest, aby nie popełniać błędów w obliczeniach. Rozbudowujemy liczbę do wielomianu z potęgami podstawy i ich współczynnikami. Następnie mnożymy i dodajemy wszystko. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 = 7 * 8 2 + 3*8 + 2 = 474 .

Konwersja liczb ujemnych

Tutaj należy wziąć pod uwagę, że numer będzie prezentowany w dodatkowy kod. Aby przekonwertować liczbę na dodatkowy kod, musisz wiedzieć ostateczny rozmiar liczby, czyli to, w co chcemy to zmieścić - w bajcie, dwóch bajtach, czterech. Najbardziej znacząca cyfra liczby oznacza znak. Jeśli jest 0, to liczba jest dodatnia, jeśli 1, to jest ujemna. Po lewej stronie liczba jest uzupełniona cyfrą znaku. Nie bierzemy pod uwagę liczb bez znaku; są one zawsze dodatnie, a ich najbardziej znaczący bit służy jako informacja.

Do tłumaczenia Liczba ujemna należy przekonwertować na uzupełnienie binarne Liczba dodatnia do systemu binarnego, a następnie zamień zera na jedynki i jedynki na zera. Następnie dodaj 1 do wyniku.

Przekonwertujmy więc liczbę -79 na system binarny. Liczba zajmie nam jeden bajt.

Konwertujemy 79 do systemu binarnego, 79 = 1001111. Do wielkości bajtu dodajemy zera po lewej stronie, 8 bitów, otrzymujemy 01001111. Zmieniamy 1 na 0 i 0 na 1. Otrzymujemy 10110000. Dodajemy 1 do w rezultacie otrzymujemy odpowiedź 10110001. Po drodze odpowiadamy na pytanie z egzaminu Unified State Exam „ile jest jednostek reprezentacja binarna liczby -79?” Odpowiedź brzmi 4.

Dodanie 1 do odwrotności liczby eliminuje różnicę między reprezentacjami +0 = 00000000 i -0 = 11111111. W kodzie uzupełnienia do dwóch będą one zapisane tak samo jak 00000000.

Zamiana liczb ułamkowych

Liczby ułamkowe przelicza się w odwrotny sposób, dzieląc liczby całkowite przez podstawę, o czym pisaliśmy na samym początku. Oznacza to użycie mnożenia sekwencyjnego przez nową bazę z kolekcją całych części. Części całkowite uzyskane podczas mnożenia są zbierane, ale nie biorą udziału w kolejnych operacjach. Mnożone są tylko ułamki zwykłe. Jeśli pierwotna liczba jest większa niż 1, wówczas część całkowita i ułamkowa są tłumaczone oddzielnie, a następnie sklejane.

Przekonwertujmy liczbę 0,6752 na system binarny.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Proces można kontynuować długo, aż do uzyskania wszystkich zer w części ułamkowej lub osiągnięcia wymaganej dokładności. Zatrzymajmy się na razie przy szóstym znaku.

Okazuje się, że 0,6752 = 0,101011.

Jeśli liczba wynosiła 5,6752, to w formacie binarnym będzie to 101,101011.

Kalkulator umożliwia konwersję liczb całkowitych i ułamkowych z jednego systemu liczbowego na inny. Podstawa systemu liczbowego nie może być mniejsza niż 2 i większa niż 36 (10 cyfr i 26 Litery łacińskie Mimo wszystko). Długość cyfr nie może przekraczać 30 znaków. Aby wprowadzić liczby ułamkowe, użyj symbolu . Lub, . Aby przekonwertować liczbę z jednego systemu liczbowego na inny, w pierwszym polu wpisz liczbę pierwotną, w drugim polu podstawę pierwotnego systemu liczbowego, a w trzecim polu podstawę systemu liczbowego, na który chcesz przekonwertować liczbę, następnie kliknij przycisk „Pobierz nagranie”.

Numer oryginalny zapisane w 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ty system liczbowy.

Chcę zapisać numer 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ty system liczbowy.

Uzyskaj wpis

Ukończono tłumaczenia: 1363703

Systemy liczbowe

Systemy liczbowe dzielą się na dwa typy: pozycyjny I nie pozycyjny. Używamy systemu arabskiego, jest on pozycyjny, ale jest też system rzymski – nie jest pozycyjny. W systemach pozycyjnych pozycja cyfry w liczbie jednoznacznie określa wartość tej liczby. Łatwo to zrozumieć, patrząc na jakąś liczbę jako przykład.

Przykład 1. Weźmy liczbę 5921 w systemie dziesiętnym. Ponumerujmy liczbę od prawej do lewej, zaczynając od zera:

Liczbę 5921 można zapisać w następującej postaci: 5921 = 5000+900+20+1 = 5,10 3 +9,10 2 +2,10 1 +1,10 0 . Liczba 10 jest cechą definiującą system liczbowy. Wartości położenia danej liczby przyjmowane są jako potęgi.

Przykład 2. Rozważmy rzeczywistą liczbę dziesiętną 1234,567. Policzmy to zaczynając od pozycja zerowa liczby od przecinka dziesiętnego w lewo i w prawo:

Liczbę 1234,567 można zapisać w następującej postaci: 1234,567 = 1000+200+30+4+0,5+0,06+0,007 = 1,10 3 +2,10 2 +3,10 1 +4,10 0 +5,10 -1 + 6,10 -2 +7,10 -3 .

Konwersja liczb z jednego systemu liczbowego na inny

Bardzo w prosty sposób konwersja liczby z jednego systemu liczbowego na inny polega na najpierw przekształceniu liczby na system dziesiętny, a następnie otrzymanego wyniku na wymagany system liczbowy.

Konwersja liczb z dowolnego systemu liczbowego na system dziesiętny

Aby zamienić liczbę z dowolnego systemu liczbowego na dziesiętny, wystarczy ponumerować jej cyfry, zaczynając od zera (cyfry po lewej stronie przecinka) analogicznie jak w przykładach 1 lub 2. Znajdźmy sumę iloczynów cyfr liczby przez podstawę systemu liczbowego do potęgi pozycji tej cyfry:

1. Konwertuj liczbę 1001101.1101 2 na system dziesiętny.
Rozwiązanie: 10011.1101 2 = 1,2 4 +0,2 3 +0,2 2 +1,2 1 +1,2 0 +1,2 -1 +1,2 -2 +0,2 -3 +1,2 - 4 = 16+2+1+0,5+0,25+0,0625 = 19,8125 10
Odpowiedź: 10011.1101 2 = 19.8125 10

2. Konwertuj liczbę E8F.2D 16 na system dziesiętny.
Rozwiązanie: E8F.2D 16 = 14,16 2 +8,16 1 +15,16 0 +2,16 -1 +13,16 -2 = 3584+128+15+0,125+0,05078125 = 3727,17578125 10
Odpowiedź: E8F.2D 16 = 3727,17578125 10

Konwersja liczb z systemu dziesiętnego na inny system liczbowy

Aby przekonwertować liczby z systemu dziesiętnego na inny system liczbowy, należy osobno przekonwertować część całkowitą i ułamkową liczby.

Konwersja części całkowitej liczby z systemu dziesiętnego na inny system liczbowy

Część całkowitą przekształca się z dziesiętnego systemu liczbowego na inny system liczbowy poprzez kolejne dzielenie części całkowitej liczby przez podstawę systemu liczbowego, aż do uzyskania reszty całkowitej mniejszej niż podstawa systemu liczbowego. Rezultatem tłumaczenia będzie zapis reszty, zaczynając od ostatniego.

3. Konwertuj liczbę 273 10 na system liczb ósemkowych.
Rozwiązanie: 273 / 8 = 34 i reszta 1,34 / 8 = 4 i reszta 2,4 jest mniejsza niż 8, więc obliczenia są zakończone. Zapis z sald będzie wyglądał następująco: 421
Badanie: 4,8 2 +2,8 1 +1,8 0 = 256+16+1 = 273 = 273, wynik jest taki sam. Oznacza to, że tłumaczenie zostało wykonane poprawnie.
Odpowiedź: 273 10 = 421 8

Rozważ tłumaczenie właściwych ułamków dziesiętnych na różne systemy Rachunek

Konwersja części ułamkowej liczby z systemu dziesiętnego na inny system liczbowy

Przypomnijmy, że nazywa się to ułamkiem dziesiętnym właściwym liczba rzeczywista z zerową częścią całkowitą. Aby przekonwertować taką liczbę na system liczbowy o podstawie N, należy kolejno pomnożyć liczbę przez N, aż część ułamkowa spadnie do zera lub uzyskana zostanie wymagana liczba cyfr. Jeżeli podczas mnożenia zostanie uzyskana liczba z częścią całkowitą inną niż zero, część całkowita nie jest dalej brana pod uwagę, ponieważ jest sekwencyjnie wprowadzana do wyniku.

4. Konwertuj liczbę 0,125 · 10 na system liczb binarnych.
Rozwiązanie: 0,125,2 = 0,25 (0 to część całkowita, która stanie się pierwszą cyfrą wyniku), 0,25,2 = 0,5 (0 to druga cyfra wyniku), 0,5,2 = 1,0 (1 to trzecia cyfra wyniku, a ponieważ część ułamkowa wynosi zero, to tłumaczenie jest zakończone).
Odpowiedź: 0.125 10 = 0.001 2