Binarna podjela može se riješiti metodom dugačke podjele, koja je metoda koja vas može naučiti da sami podijelite proces, kao i da kreirate jednostavne računarske programe. Dodatno, komplementarne metode iterativnog oduzimanja mogu pružiti pristupe koje možda niste upoznati, iako se obično ne koriste za programiranje. Mašinski jezici obično koriste aproksimacijske algoritme kako bi bili efikasniji, ali to nije opisano u ovom članku.
Korak
Metoda 1 od 2: Korištenje dugačke podjele
Korak 1. Ponovo naučite decimalnu dugačku podjelu
Ako već dugo niste koristili dugu podjelu u redovnom decimalnom (osnovnom desetkom) brojevnom sistemu, vratite se osnovama koristeći primjer problema 172 podijeljen sa 4. U suprotnom, preskočite ovaj korak i idite direktno na sljedeći korak da istražite sličan proces s binarnim brojevima.
- Numerator podijeljena nazivnik, i rezultat je količnik.
- Uporedite nazivnik sa prvim brojem u brojniku. Ako je nazivnik veći, nastavite dodavati brojeve u brojnik sve dok nazivnik ne bude manji. (Na primjer, ako izračunamo 172 podijeljeno sa 4, usporedimo 4 sa 1, znamo da je 4 veće od 1, pa nastavite uspoređivati 4 sa 17.)
- Napišite prvu znamenku količnika iznad zadnjeg brojača upotrijebljenog u usporedbi. Kad usporedimo 4 sa 17, vidimo da je 4 četiri pokriveno sa 17 četiri, pa pišemo 4 kao prvi broj količnika, iznad 7.
- Pomnožite i oduzmite da biste dobili ostatak. Pomnožite količnik s nazivnikom, što znači 4 × 4 = 16. Napišite 16 ispod 17, a zatim oduzmite 17 sa 16 da biste dobili ostatak, što je 1.
- Ponovite postupak. Ponovno uspoređujemo nazivnik, koji je 4, sa sljedećim brojem, koji je 1, uočavamo da je 4 veće od 1, zatim "oduzimamo" sljedeći broj od brojnika, nastavljamo upoređujući 4 sa 12. Vidimo da je 4 je pokriveno sa 12 tri puta bez ostatka, pa pišemo 3 kao sljedeći broj količnika. Odgovor je 43.
Korak 2. Pripremite dugačak problem podjele u binarnom obliku
Uzmimo 10101 11. Zapišite kao problem za dugu podjelu, koristeći 10101 kao brojnik i 11 kao nazivnik. Ostavite prostor iznad njega kao mjesto za upisivanje količnika, a ispod njega kao mjesto za pisanje proračuna.
Korak 3. Uporedite nazivnik sa prvom cifrom brojača
Radi na isti način kao i dugačko dijeljenje u decimalnom, ali je zapravo mnogo lakše u binarnom brojevnom sistemu. U binarnom obliku postoje samo dvije opcije, ili ne možete podijeliti broj s nazivnikom (što znači 0) ili je nazivnik uključen samo jednom (što znači 1):
11> 1, tako da 11 nije "pokriveno" 1. Napišite broj 0 kao prvi broj količnika (iznad prve cifre brojača)
Korak 4. Radite na sljedećem broju i ponavljajte dok ne dobijete broj 1
Slijede sljedeći koraci u našem primjeru:
- Izvedite sljedeći broj iz brojnika. 11> 10. U količnik upišite 0.
- Spustite sljedeći broj. 11 <101. U količnik upišite broj 1.
Korak 5. Pronađite ostatak podjele
Kao i kod dugih decimala, pomnožite broj koji smo upravo dobili (1) s nazivnikom (11), a zatim upišite rezultat ispod brojnika paralelno s brojem koji smo upravo izračunali. U binarnom brojevnom sistemu možemo sažeti ovaj proces, jer je 1 x nazivnik uvijek isti kao nazivnik:
- Ispod nazivnika napišite nazivnik. Ovdje upišite 11 paralelno s prve tri znamenke brojača (101).
- Prebrojite 101 - 11 da biste dobili ostatak dijeljenja, što je 10. Pogledajte kako oduzeti binarne brojeve ako morate ponovo učiti.
Korak 6. Ponavljajte dok se problem ne riješi
Smanjite sljedeći broj od nazivnika na ostatak dijeljenja da biste dobili 100. Budući da je 11 <100, napišite 1 kao sljedeći broj u podjeli. Nastavite izračun kao i do sada:
- Napišite 11 ispod 100, a zatim oduzmite da biste dobili 1.
- Smanjite posljednju znamenku brojnika na 11.
- 11 = 11, pa napišite 1 kao posljednju znamenku količnika (odgovor).
- Budući da nema ostatka, izračun je završen. Odgovor je 00111, ili samo 111.
Korak 7. Dodajte radix točke ako je potrebno
Ponekad rezultat izračuna nije cijeli broj. Ako vam nakon zadnje znamenke ostaje dijeljenje, brojniku dodajte ".0" i "." na količnik, tako da još uvijek možete izvesti još jedan broj i nastaviti računanje. Ponavljajte dok ne postignete željenu preciznost, a zatim zaokružite rezultat. Na papiru možete zaokružiti uklanjanjem posljednjih 0, ili ako je posljednji 1, odbacite ga i dodajte posljednji posljednji broj u 1. U programiranju slijedite jedan od nekoliko standardnih algoritama zaokruživanja kako biste izbjegli greške pri pretvaranju binarnih brojeva na decimalu i obrnuto.
- Binarna podjela često rezultira ponavljanjem razlomljenih dijelova, češće nego isti proces u decimalnom sistemu.
- To se češće naziva "radiksna točka", koja se odnosi na bilo koju bazu, jer se izraz "decimalna točka" primjenjuje samo u decimalnom sistemu.
Metoda 2 od 2: Upotreba komplementarne metode
Korak 1. Shvatite osnovni koncept
Jedan od načina rješavanja problema podjele - po bilo kojoj osnovi - je da nastavite oduzimati nazivnik od brojnika, a zatim ostatak, računajući koliko se puta ovaj proces može ponoviti prije nego što dobijete negativan broj. Sljedeći primjer je proračun u bazi deset, računajući 26 7:
- 26 - 7 = 19 (oduzmite 1 put)
- 19 - 7 = 12 (2)
- 12 - 7 = 5 (3)
- 5 - 7 = -2. Negativni brojevi, pa se odmaknite korak unatrag. Rezultat je 3, a ostatak je podijeljen sa 5. Imajte na umu da ova metoda ne izračunava razlomljeni dio odgovora.
Korak 2. Naučite kako oduzimati s komplementima
Iako gornju metodu možete lako koristiti u binarnom sistemu, možemo smanjiti i upotrebu efikasnije metode koja štedi vrijeme pri programiranju računara na binarnu podjelu. Ovo je oduzimanje s komplementarnom metodom u binarnom obliku. Evo osnova, računajući 111 - 011 (pazite da dva broja budu iste dužine):
- Pronađite nečiji komplement za drugi broj, oduzimanjem svake znamenke od 1. Ovaj korak je lako izvesti u binarnom sistemu mijenjanjem svakih 1 na 0 i svakih 0 na 1. U ovom primjeru 011 na 100.
- Rezultatu izračuna dodajte 1: 100 + 1 = 101. Ovaj broj se naziva komplement dva, pa se oduzimanje može riješiti kao sabiranje. U suštini, rezultat ovog izračuna je kao da dodajemo negativne brojeve, a ne oduzimamo pozitivne brojeve, nakon što se ovaj proces završi.
- Dodajte rezultat prvom broju. Napišite i riješite problem sabiranja: 111 + 101 = 1100.
- Uklonite još brojeva. Uklonite prvi broj iz rezultata izračuna kako biste dobili konačni rezultat. 1100 → 100.
Korak 3. Kombinirajte dva gore opisana koncepta
Sada znate metodu oduzimanja za rješavanje problema podjele, kao i metodu komplementacije dva za rješavanje problema oduzimanja. Koristeći donje korake, možete ih kombinirati u jednu metodu za rješavanje problema podjele. Ako želite, pokušajte to sami riješiti prije nego nastavite.
Korak 4. Oduzmite nazivnik od brojnika, dodajući dva komplementa
Poradimo na problemu 100011 000101. Prvi korak je riješiti 100011 - 000101, koristeći metodu komplementacije njih dvoje kako bi ovaj izračun pretvorili u zbir:
- Dvostruki komplement 000101 = 111010 + 1 = 111011
- 100011 + 111011 = 1011110
- Uklonite višak brojeva → 011110
Korak 5. Dodajte 1 rezultatu podjele
U računarskom programu, ovo mjesto dodajete 1 količniku. Na papiru pravite bilješke u uglovima kako se ne bi pomiješali s drugim poslovima. Uspjeli smo oduzeti jedan put, pa je rezultat dosadašnje podjele 1.
Korak 6. Ponovite postupak oduzimanjem nazivnika od ostatka izračuna
Rezultat našeg posljednjeg izračunavanja je ostatak podjele nakon što je nazivnik jednom "pokriven". Nastavite dodavati dva komplementa nazivnika pri svakom ponavljanju i uklanjati dodatne znamenke. Dodajte količnik 1 na svaku iteraciju, ponavljajući dok ne dobijete ostatak izračuna jednak ili manji od nazivnika:
- 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 manje od 101, pa se ovdje zaustavljamo. Odgovor na ovaj proces podjele je 111. Dok je ostatak podjele konačni rezultat procesa oduzimanja, u ovom slučaju 0 (nema ostatka).
Savjeti
- Upute za podizanje (dodavanje 1), spuštanje (oduzimanje 1) ili uklanjanje iz hrpe (pop stack) treba razmotriti prije primjene binarne matematike u skupu strojnih instrukcija.
- Metoda komplementacije ove dvije jedinice za oduzimanje neće funkcionirati ako brojevi imaju različit broj znamenki. Da biste to popravili, dodajte nulu na početak broja za manji broj.
- Zanemarite negativne brojeve u negativnim binarnim brojevima prije izračunavanja, osim da biste utvrdili je li odgovor pozitivan ili negativan.