Binarno deljenje je mogoče rešiti z uporabo metode dolge delitve, ki vas lahko sam nauči procesa delitve in ustvari preproste računalniške programe. Poleg tega lahko komplementarne metode ponavljajočega odštevanja ponujajo pristope, ki jih morda ne poznate, čeprav se običajno ne uporabljajo za programiranje. Strojni jeziki običajno uporabljajo približne algoritme za večjo učinkovitost, vendar to v tem članku ni opisano.
Korak
Metoda 1 od 2: Uporaba dolge delitve
Korak 1. Znova se naučite decimalnega dolgega deljenja
Če že dolgo niste uporabljali dolge delitve v običajnem decimalnem (osnovna desetka) številčnem sistemu, ponovno preglejte osnove z uporabo primera problema 172, deljenega s 4. V nasprotnem primeru preskočite ta korak in pojdite naravnost na naslednji korak, da raziščete podoben postopek z binarnimi številkami.
- Števec deljeno s imenovalec, in rezultat je količnik.
- Primerjajte imenovalec s prvo številko v števcu. Če je imenovalec večji, nadaljujte z dodajanjem številk števcu, dokler imenovalec ni manjši. (Na primer, če izračunamo 172 deljeno s 4, primerjamo 4 z 1, vemo, da je 4 večje od 1, zato nadaljujemo s primerjavo 4 s 17.)
- Prvo številko količnika napišite nad zadnjim števcem, uporabljenim pri primerjavi. Ko primerjamo 4 s 17, vidimo, da je 4 štirikrat pokrito s 17, zato 4 zapišemo kot prvo številko količnika nad 7.
- Pomnožite in odštejte, da dobite preostanek. Količnik pomnožimo z imenovalcem, kar pomeni 4 × 4 = 16. Napišite 16 pod 17, nato odštejte 17 s 16, da dobite preostanek, ki je 1.
- Postopek ponovite. Ponovno primerjamo imenovalec, ki je 4, z naslednjo številko, ki je 1, opazimo, da je 4 večje od 1, nato "odštejemo" naslednjo številko od števca, nadaljujemo s primerjavo 4 z 12. Vidimo, da 4 pokriva 12 trikrat brez ostanka, zato 3 zapišemo kot naslednjo številko količnika. Odgovor je 43.
Korak 2. Pripravite dolg problem deljenja v binarnem sistemu
Vzemimo 10101 11. Zapišite kot problem za dolgo deljenje, pri čemer uporabite 10101 kot števec in 11 kot imenovalec. Pustite prostor nad njim kot mesto za zapis količnika, pod njim pa kot kraj za pisanje izračunov.
Korak 3. Primerjaj imenovalec s prvo števko števca
Deluje na enak način kot deljeno decimalno mesto, vendar je v binarnem številčnem sistemu dejansko veliko lažje. V binarnem sistemu obstajata samo dve možnosti: bodisi ne morete deliti števila z imenovalcem (kar pomeni 0) ali pa je imenovalec vključen le enkrat (kar pomeni 1):
11> 1, torej 11 ni "zajeto" 1. Številko 0 napišite kot prvo številko količnika (nad prvo številko števca)
Korak 4. Delajte na naslednji številki in ponavljajte, dokler ne dobite številke 1
V našem primeru so naslednji koraki:
- Naslednjo številko izpeljite iz števca. 11> 10. V količnik vpiši 0.
- Spustite naslednjo številko. 11 <101. V količnik vpišite številko 1.
Korak 5. Poiščite preostanek delitve
Tako kot pri dolgih decimalkah decimalno število, ki smo ga pravkar dobili (1), pomnožimo z imenovalcem (11), nato pa pod števnik zapišite rezultat, vzporeden s številom, ki smo ga pravkar izračunali. V binarnem številskem sistemu lahko ta proces povzamemo, ker je 1 x imenovalec vedno enak imenovalec:
- Pod števcem napišite imenovalec. Tukaj napišite 11 vzporedno s prvimi tremi številkami števca (101).
- Preštejte 101 - 11, da dobite preostanek delitve, kar je 10. Poglejte, kako odšteti binarna števila, če se morate znova naučiti.
Korak 6. Ponavljajte, dokler težava ni odpravljena
Zmanjšajte naslednjo številko iz imenovalca na preostanek delitve, da dobite 100. Od 11 <100 napišite 1 kot naslednjo številko v deljenju. Nadaljujte z izračunom kot prej:
- Napišite 11 pod 100 in nato odštejte, da dobite 1.
- Zadnjo številko števca znižajte na 11.
- 11 = 11, zato 1 zapišite kot zadnjo številko količnika (odgovor).
- Ker ostanka ni, je izračun končan. Odgovor je 00111ali samo 111.
Korak 7. Po potrebi dodajte radix točke
Včasih rezultat izračuna ni celo število. Če imate po uporabi zadnje številke še vedno deljenje, števcu dodajte ".0" in "." na količnik, tako da lahko še vedno izpeljete še eno število in nadaljujete z izračunom. Ponavljajte, dokler ne dosežete želene natančnosti, nato zaokrožite rezultat. Na papirju lahko zaokrožite tako, da odstranite zadnjo 0 ali če je zadnja 1, jo zavrzite in dodajte zadnjo zadnjo številko v 1. Pri programiranju sledite enemu od več standardnih algoritmov zaokroževanja, da se izognete napakam pri pretvorbi binarnih števil na decimalko in obratno.
- Binarna delitev pogosto povzroči ponavljajoče se delne dele, pogosteje kot isti postopek v decimalnem sistemu.
- To se pogosteje imenuje "radiksna točka", ki velja za katero koli osnovo, ker izraz "decimalna točka" velja le v decimalnem sistemu.
Metoda 2 od 2: Uporaba komplementarne metode
Korak 1. Razumeti osnovni koncept
Eden od načinov za rešitev težave z delitvijo - na kateri koli podlagi - je, da od števca nenehno odštevate imenovalec, nato pa preostanek in štejete, kolikokrat se lahko ta postopek ponovi, preden dobite negativno število. Naslednji primer je izračun v deseti bazi, ki izračuna 26 7:
- 26 - 7 = 19 (enkrat odštej)
- 19 - 7 = 12 (2)
- 12 - 7 = 5 (3)
- 5 - 7 = -2. Negativne številke, zato naredite korak nazaj. Rezultat je 3, preostanek pa deljeno s 5. Upoštevajte, da ta metoda ne izračuna delnega dela odgovora.
Korak 2. Naučite se odštevati z dopolnili
Čeprav lahko preprosto uporabite zgornjo metodo v binarnem sistemu, lahko zmanjšamo tudi uporabo učinkovitejše metode, ki prihrani čas pri programiranju računalnika za binarno deljenje. To je odštevanje z metodo komplementa v binarni obliki. Tu so osnove za izračun 111 - 011 (prepričajte se, da sta dve številki enake dolžine):
- Poiščite eno dopolnilo za drugo številko tako, da odštejete vsako števko od 1. Ta korak je enostavno narediti v binarnem sistemu tako, da spremenite vsakih 1 na 0 in vsakih 0 na 1. V tem primeru 011 na 100.
- Rezultatu izračuna dodajte 1: 100 + 1 = 101. To število imenujemo komplement dveh, zato lahko odštevanje rešimo kot seštevek. V bistvu je rezultat tega izračuna, kot da po končanem postopku dodamo negativna števila in ne odštejemo pozitivnih števil.
- Dodajte rezultat prvi številki. Zapišite in rešite problem seštevanja: 111 + 101 = 1100.
- Odstranite več številk. Odstranite prvo število iz rezultata izračuna, da dobite končni rezultat. 1100 → 100.
Korak 3. Združite dva zgoraj opisana koncepta
Sedaj poznate metodo odštevanja za reševanje problemov deljenja, pa tudi metodo komplementa za reševanje problemov odštevanja. S spodnjimi koraki lahko oboje združite v eno metodo, da rešite problem delitve. Če želite, poskusite sami rešiti, preden nadaljujete.
Korak 4. Od števca odštejte imenovalec in seštevku dopolnite
Delajmo na problemu 100011 000101. Prvi korak je rešiti 100011 - 000101 z uporabo metode komplementa za pretvorbo tega izračuna v vsoto:
- Komplet dveh 000101 = 111010 + 1 = 111011
- 100011 + 111011 = 1011110
- Odstranite odvečne številke → 011110
Korak 5. Rezultatu delitve dodajte 1
V računalniškem programu tukaj kvocientu dodate 1. Na vogalih si zapišite zapiske, da se ne pomešajo z drugim delom. Enkrat smo uspeli odšteti, zato je rezultat dosedanje delitve 1.
Korak 6. Ponovite postopek tako, da od preostalega izračuna odštejete imenovalec
Rezultat našega zadnjega izračuna je preostanek delitve, potem ko je imenovalec enkrat "pokrit". Nadaljujte z dodajanjem obeh imenovalcev pri vsaki ponovitvi in odstranite dodatne števke. Količniku 1 na vsaki iteraciji dodajte 1 in ponavljajte, dokler ne dobite preostalega izračuna enakega ali manjšega od imenovalca:
- 011110 + 111011 = 1011001 → 011001 (količnik 1 + 1 = 10)
- 0110001 + 111011 = 1010100 → 010100 (količnik 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 je manj kot 101, zato se ustavimo tukaj. Odgovor na ta postopek delitve je 111. Medtem ko je preostanek delitve končni rezultat postopka odštevanja, v tem primeru 0 (brez ostanka).
Nasveti
- Pred uporabo binarne matematike v nizu strojnih navodil je treba upoštevati navodila za dvig (dodajanje 1), spuščanje (odštevanje 1) ali odstranitev iz sklada (pop stack).
- Metoda komplementa dveh za odštevanje ne bo delovala, če imajo številke različno število števk. Če želite to odpraviti, dodajte ničlo na začetek številke za manjše število.
- Pred izračunom prezrite negativna števila v negativnih binarnih številih, razen da ugotovite, ali je odgovor pozitiven ali negativen.