Jak dzielić liczby binarne

Autor: Mark Sanchez
Data Utworzenia: 2 Styczeń 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
Dzielenie w systemie binarnym
Wideo: Dzielenie w systemie binarnym

Zawartość

Liczby binarne można podzielić na kolumny, aby lepiej zrozumieć sam proces lub napisać prosty program komputerowy. Możesz także użyć metody dopełnienia, która jest rzadko używana w programowaniu. Zazwyczaj języki maszynowe używają algorytmu scoringu, aby być bardziej wydajnym, ale nie o tym jest ten artykuł.

Kroki

Metoda 1 z 2: Długie dzielenie

  1. 1 Podziel według kolumny dwie liczby dziesiętne. Jeśli zapomniałeś o długim dzieleniu, podziel dwie liczby dziesiętne (o podstawie 10): 172 ÷ 4. Jeśli długie dzielenie jest dobre, przejdź do następnego kroku, aby dowiedzieć się, jak dzielić liczby binarne.
    • Dywidenda podzielony przez rozdzielacz i okazuje się prywatny.
    • Porównaj dzielnik z pierwszą cyfrą dywidendy. Jeśli dzielnik jest większy niż ta cyfra, porównaj dzielnik z dwiema cyframi dzielnej i tak dalej, aż dzielnik będzie mniejszy niż podana liczba. W naszym przykładzie porównaj 4 i 1, zauważ, że 4> 1, a następnie porównaj 4 z 17.
    • Napisz pierwszą cyfrę ilorazu poniżej dzielnika. Porównując 4 i 17, zobaczysz, że 17 ÷ 4 = 4 z resztą, więc wpisz 4 jako pierwszą cyfrę ilorazu poniżej dzielnika (4).
    • Pomnóż i odejmij, aby znaleźć resztę. Pomnóż pierwszą cyfrę ilorazu przez dzielnik; w naszym przykładzie: 4 x 4 = 16. Napisz 16 do 17, a następnie odejmij 17-16, aby znaleźć resztę z 1.
    • Powtórz porównanie. Porównaj dzielnik 4 z resztą 1, zauważ, że 4>1 i „przenieś” następną cyfrę dzielnej, aby porównać 4 z 12. Ponieważ 12 ÷ 4 = 3 bez reszty, wpisz 3 jako drugą cyfrę iloraz. Ostateczna odpowiedź to 43.
  2. 2 Kolumna dzieli dwie liczby binarne. Na przykład 10101 ÷ 11. Tutaj 10101 to dzielna, a 11 to dzielnik. Zostaw wystarczająco dużo miejsca na obliczenia.
  3. 3 Porównaj dzielnik z pierwszą cyfrą dywidendy. W przypadku liczb binarnych jest to łatwiejsze niż w przypadku liczb dziesiętnych: albo liczba nie jest podzielna przez dzielnik i piszemy 0, albo jest dzielona i zapisujemy 1.
    • 11> 1, więc 1 nie można podzielić przez 11. Wpisz 0 jako pierwszą cyfrę ilorazu (poniżej dzielnika).
  4. 4 Kontynuuj porównywanie liczb dzielników, aż uzyskasz 1. W naszym przykładzie:
    • Porównaj dzielnik z dwiema cyframi dywidendy. 11> 10. Wpisz 0 jako drugą cyfrę ilorazu.
    • Porównaj dzielnik z trzema cyframi dywidendy. 11 101. Wpisz 1 jako trzecią cyfrę ilorazu.
  5. 5 Oblicz resztę. Pomnóż znalezioną cyfrę (1) przez dzielnik (11) i wpisz wynik pod dzielną (czyli pod odpowiednimi cyframi). Zauważ, że pomnożenie 1 przez dzielnik zawsze daje dzielnik.
    • Napisz dzielnik pod dywidendą. W naszym przykładzie wpisz 11 pod pierwszymi trzema cyframi (101) dywidendy.
    • Odejmij 101 - 11, aby otrzymać resztę z 10. Jeśli nie pamiętasz, jak odjąć liczby binarne, przeczytaj ten artykuł.
  6. 6 Powtarzaj opisane kroki, aż rozwiążesz problem. Dodaj następną cyfrę dywidendy do reszty, aby otrzymać 100. Od 11 100 napisz 1 jako czwartą cyfrę ilorazu. Dalsze obliczenia:
    • wpisz 11 poniżej 100 i odejmij, aby otrzymać resztę z 1;
    • dodaj ostatnią cyfrę dywidendy do reszty, aby uzyskać 11;
    • 11 = 11, więc wpisz 1 jako ostatnią cyfrę ilorazu.
    • Nie ma reszty, więc problem został rozwiązany. Odpowiadać: 00111 lub po prostu 111.
  7. 7 Dodaj kropkę dziesiętną (w razie potrzeby). Czasami wynik nie jest liczbą całkowitą. Jeśli po wykorzystaniu ostatniej cyfry dywidendy otrzymasz resztę, dodaj ", 0" do dywidendy i "" do ilorazu, aby "wyburzyć" następną cyfrę i kontynuować obliczenia. Powtarzaj ten proces, aż uzyskasz pożądany wynik, a następnie zaokrąglij odpowiedź. Aby zaokrąglić wynik, pozbądź się ostatniego 0 lub jeśli ostatnia cyfra to 1, upuść ją i dodaj 1 do nowej ostatniej cyfry. Podczas programowania postępuj zgodnie ze standardowymi algorytmami zaokrąglania, aby uniknąć błędów podczas konwersji między liczbami binarnymi i dziesiętnymi.
    • Dzielenie dwóch liczb binarnych może skutkować powtarzającą się częścią ułamkową; zdarza się to częściej niż przy dzieleniu liczb dziesiętnych.
    • Należy pamiętać, że kropka dziesiętna jest używana nie tylko w zapisie dziesiętnym, ale także w zapisie dwójkowym.

Metoda 2 z 2: Suplementy

  1. 1 Zrozum podstawowe zasady. Aby podzielić dwie liczby (zarówno dziesiętne, jak i binarne), możesz odjąć dzielnik od dzielnej, a następnie sukcesywnie odjąć dzielnik od pozostałych, aż uzyskasz liczbę ujemną; w takim przypadku musisz policzyć, ile zostało wykonanych odejmowań. Na przykład oblicz 26 ÷ 7:
    • 26 - 7 = 19 (1 odejmowanie)
    • 19 - 7 = 12 (2)
    • 12 - 7 = 5 (3)
    • 5 - 7 = -2. Liczba ujemna, więc nie musisz dalej odejmować. Odpowiedź: 3 z resztą 5. Zauważ, że ta metoda nie oblicza części ułamkowej odpowiedzi.
  2. 2 Zapoznaj się z podstawami metody dodawania. Powyższa metoda może być zastosowana do liczb binarnych lub możesz użyć bardziej wydajnej metody, która oszczędza czas podczas programowania dzielenia liczb binarnych. Ta metoda jest nazywana metodą dopełniającą. Na przykład odejmij 111 - 011 (obie liczby muszą mieć taką samą liczbę cyfr):
    • Znajdź uzupełnienie do drugiej liczby. Aby to zrobić, odejmij każdą cyfrę tej liczby od 1. W systemie binarnym po prostu zamień 1 na 0, a 0 na 1. W naszym przykładzie 011 staje się 100.
    • Dodaj do wyniku 1: 100 + 1 = 101. Proces ten nazywa się dopełnieniem do dwóch i pozwala zastąpić odejmowanie dodawaniem. Zasadniczo ta metoda polega na dodaniu liczby ujemnej zamiast odejmowaniu liczby dodatniej.
    • Dodaj wynik do pierwszej liczby. Zapisz i oblicz operację dodawania: 111 + 101 = 1100.
    • Upuść pierwszą cyfrę wyniku, aby uzyskać ostateczną odpowiedź: 1100 → 100.
  3. 3 Połącz dwie metody opisane powyżej. Pierwsza metoda to metoda sekwencyjnego odejmowania, a druga to metoda dopełniania do dwóch. Metody te można łączyć w jedną, aby używać jej do dzielenia liczb (proces łączenia metod opisano poniżej). Jeśli chcesz, spróbuj sam wymyślić, jak połączyć te dwie metody.
  4. 4 Odejmij dzielnik od dywidendy, zastępując odejmowanie dodawaniem uzupełnienia do dwóch. Na przykład: 100011 ÷ 000101.Najpierw zamień odejmowanie 100011 - 000101 na dodawanie, używając dopełnienia do dwóch:
    • Uzupełnienie do dwójek: 000101 = 111010 + 1 = 111011
    • Dodatek: 100011 + 111011 = 1011110
    • Pozbądź się pierwszej cyfry: 011110
  5. 5 Dodaj 1 do ilorazu. W programie komputerowym jest to ciąg znaków, w którym iloraz zwiększa się o jeden. Zrób notatkę na papierze, aby uniknąć nieporozumień. Pomyślnie odjąłeś raz, więc iloraz wynosi 1 w tym momencie.
  6. 6 Powtórz opisany proces. Aby to zrobić, odejmij dzielnik od reszty. Pozostała część to wynik ostatniego obliczenia. Zastąp operację odejmowania dodawaniem: dodaj dzielnik dopełnienia dwóch do reszty, a następnie pozbądź się pierwszej cyfry wyniku. Po każdym odjęciu dodaj do ilorazu 1. Powtarzaj powyższy proces, aż reszta będzie równa lub mniejsza niż dzielnik:
    • 011110 + 111011 = 1011001 → 011001 (iloraz 1 + 1 = 10)
    • 011001 + 111011 = 1010100 → 010100 (iloraz 10 + 1 = 11)
    • 010100 + 111011 = 1001111 → 001111 (11+1=100)
    • 001111 + 111011 = 1001010 → 001010 (100+1=101)
    • 001010 + 111011 = 10000101 → 0000101 (101+1=110)
    • 0000101 + 111011 = 1000000 → 000000 (110+1=111)
    • 0 jest mniejsze niż 101, więc nie ma potrzeby dalszego obliczania. Prywatny 111 jest końcowym wynikiem operacji podziału. Reszta jest końcowym wynikiem operacji odejmowania; w naszym przykładzie jest to 0 (bez reszty).

Porady

  • Zignoruj ​​bit znaku w podpisanych liczbach binarnych, chyba że musisz wiedzieć, czy wynik jest dodatni, czy ujemny.
  • Metoda uzupełnienia do dwóch nie ma zastosowania, jeśli liczby zawierają różne liczby cyfr. W takim przypadku dodaj odpowiednią liczbę 0 do niższej liczby (po lewej).
  • Instrukcje zwiększania, zmniejszania lub zdejmowania stosu muszą być wzięte pod uwagę przed zastosowaniem operacji binarnych do instrukcji maszynowych.