Kuidas jagada kahendnumbreid

Autor: Mark Sanchez
Loomise Kuupäev: 2 Jaanuar 2021
Värskenduse Kuupäev: 1 Juuli 2024
Anonim
CS50 2015 - Week 0
Videot: CS50 2015 - Week 0

Sisu

Protsessi enda paremaks mõistmiseks või lihtsa arvutiprogrammi kirjutamiseks saab kahendarvud jagada veergudesse. Võite kasutada ka täiendusmeetodit, mida programmeerimisel kasutatakse harva. Tavaliselt kasutavad masinakeeled tõhusamaks tulemuste hindamiseks algoritmi, kuid see pole see, millest see artikkel räägib.

Sammud

Meetod 1: 2: pikk jagamine

  1. 1 Jagage veeru järgi kaks kohta pärast koma. Kui olete pika jagamise unustanud, jagage kaks kümnendkohta (põhi 10): 172 ÷ 4. Kui pikk jagamine on suurepärane, minge järgmise sammu juurde, et õppida binaararvude jagamist.
    • Dividend jagatuna jagaja ja selgub privaatne.
    • Võrrelge jagajat dividendi esimese numbriga. Kui jagaja on sellest numbrist suurem, võrrelge jagajat dividendi kahe numbriga ja nii edasi, kuni jagaja on väiksem kui kõnealune arv. Meie näites võrrelge 4 ja 1, pange tähele, et 4> 1 ja seejärel võrrelge 4 17 -ga.
    • Kirjutage jagaja alla jagatise esimene number. Võrreldes 4 ja 17, näete, et 17 ÷ 4 = 4 jäägiga, seega kirjutage jagaja (4) all oleva jagatise esimeseks numbriks 4.
    • Ülejäänud leidmiseks korrutage ja lahutage. Korrutage jagatise esimene number jagajaga; meie näites: 4 x 4 = 16. Kirjutage 16 alla 17, seejärel lahutage 17 - 16, et leida ülejäänud 1.
    • Korrake võrdlust. Võrrelge jagajat 4 ülejäänud 1 -ga, pange tähele, et 4> 1 ja "kandke" dividendi järgmine number, et võrrelda 4 -ga 12. Kuna 12 ÷ 4 = 3 ilma jäägita, kirjutage 3 jagatis. Lõplik vastus on 43.
  2. 2 Veerg jagab kaks kahendnumbrit. Näiteks 10101 ÷ 11. Siin on 10101 dividend ja 11 jagaja. Jätke arvutamiseks piisavalt ruumi.
  3. 3 Võrrelge jagajat dividendi esimese numbriga. Kahendarvude puhul on seda lihtsam teha kui kümnendarvudega: kas arv ei jagu jagajaga ja me kirjutame 0 või jagatakse ja kirjutame 1.
    • 11> 1, nii et 1 ei saa jagada 11. Kirjutage jagatise esimeseks numbriks 0 (jagaja alla).
  4. 4 Võrrelge jagajate numbreid, kuni saate 1. Meie näites:
    • Võrrelge jagajat dividendi kahe numbriga. 11> 10. Kirjutage jagatise teiseks numbriks 0.
    • Võrrelge jagajat dividendi kolme numbriga. 11 101. Kirjuta jagatise kolmanda numbrina 1.
  5. 5 Arvutage järelejäänud osa. Korrutage leitud number (1) jagajaga (11) ja kirjutage tulemus dividendi alla (nimelt vastavate numbrite alla). Pange tähele, et 1 korrutamine jagajaga annab alati jagaja.
    • Kirjutage jagaja dividendi alla. Meie näites kirjutage dividendi esimese kolme numbri (101) alla 11.
    • Ülejäänud 10 saamiseks lahutage 101–11. Kui te ei mäleta, kuidas kahendarvud lahutada, lugege seda artiklit.
  6. 6 Korrake kirjeldatud samme, kuni olete probleemi lahendanud. 100 saamiseks lisage ülejäänud summale dividendi järgmine number. Alates 11 100 kirjutage jagatise neljandaks numbriks 1. Täiendavad arvutused:
    • kirjutage 11 alla 100 ja lahutage, et saada ülejäänud 1;
    • lisage ülejäänud summale dividendi viimane number, et saada 11;
    • 11 = 11, seega kirjutage jagatise viimaseks numbriks 1.
    • Jääki pole, seega on probleem lahendatud. Vastus: 00111 või ainult 111.
  7. 7 Lisage koma (kui vaja). Mõnikord pole tulemus täisarv. Kui pärast dividendi viimase numbri kasutamist saate jäägi, lisage dividendile ", 0" ja jagatisele "," järgmise numbri "lammutamiseks" ja jätkake arvutamist. Korrake seda protsessi, kuni saate soovitud tulemuse, ja seejärel ümardage oma vastus. Tulemuse ümardamiseks vabanege viimasest 0 -st või kui viimane number on 1, loobuge sellest ja lisage uuele viimasele numbrile 1. Programmeerimisel järgige ühte standardset ümardamisalgoritmi, et vältida vigu binaarsete ja kümnendarvude vahel teisendamisel.
    • Kahe kahendarvu jagamisel võib tulemuseks olla korduv murdosa; seda juhtub sagedamini kui kümnendarvude jagamisel.
    • Pange tähele, et koma ei kasutata mitte ainult kümnendkohtades, vaid ka binaarmärkides.

Meetod 2/2: toidulisandid

  1. 1 Mõista põhiprintsiipe. Kahe numbri (nii kümnend- kui kahendkoodi) jagamiseks võite lahutaja dividendist lahutada ja seejärel jagaja ülejäänud osadest lahutada, kuni saate negatiivse arvu; sel juhul peate loendama, kui palju lahutamisi on tehtud. Näiteks arvutage 26 ÷ 7:
    • 26 - 7 = 19 (1 lahutamine)
    • 19 - 7 = 12 (2)
    • 12 - 7 = 5 (3)
    • 5 = 7 = -2. Negatiivne arv, nii et te ei pea rohkem lahutama. Vastus: 3 ja ülejäänud osa 5. Pange tähele, et see meetod ei arvuta vastuse murdosa.
  2. 2 Mõistke lisamismeetodi põhitõdesid. Ülaltoodud meetodit saab rakendada kahendarvudele või kasutada tõhusamat meetodit, mis säästab aega binaararvude jagamise programmeerimisel. Seda meetodit nimetatakse täiendusmeetodiks. Näiteks lahutage 111–011 (mõlemal numbril peab olema sama arv numbreid):
    • Leidke teise numbri täiend. Selleks lahutage selle numbri iga number 1 -st. Binaarses asendage lihtsalt 1 0 -ga ja 0 1 -ga. Meie näites saab 011 -st 100.
    • Lisage oma tulemusele 1: 100 + 1 = 101. Seda protsessi nimetatakse kahe täienduseks ja see võimaldab asendada lahutamise liitmisega. Põhimõtteliselt on see meetod see, et positiivse lahutamise asemel lisate negatiivse arvu.
    • Lisage tulemus esimesele numbrile. Kirjutage üles ja arvutage liitmisoperatsioon: 111 + 101 = 1100.
    • Lõpliku vastuse saamiseks visake oma tulemuse esimene number: 1100 → 100.
  3. 3 Ühendage kaks ülalkirjeldatud meetodit. Esimene meetod on järjestikuse lahutamise meetod ja teine ​​kahe komplemendi meetod. Neid meetodeid saab ühendada üheks, et kasutada seda numbrite jagamiseks (meetodite kombineerimise protsessi kirjeldatakse allpool). Kui soovite, proovige ise välja mõelda, kuidas neid kahte meetodit kombineerida.
  4. 4 Lahutage dividendist jagaja, asendades lahutamise kahe komplemendi liitmisega. Näiteks: 100011 ÷ 000101.Kõigepealt muutke lahutamine 100011 - 000101 kahe komplemendi abil liitmiseks:
    • Kahe täiend: 000101 = 111010 + 1 = 111011
    • Lisaks: 100011 + 111011 = 1011110
    • Vabanege esimesest numbrist: 011110
  5. 5 Lisage jagatisele 1. Arvutiprogrammis on see string, kus jagatist suurendatakse ühe võrra. Segaduste vältimiseks tehke paberile märge. Olete ühe korra edukalt lahutanud, seega on jagatis 1.
  6. 6 Korrake kirjeldatud protsessi. Selleks lahutage jagaja ülejäänud osast. Ülejäänud osa on viimase arvutuse tulemus. Asendage lahutamisoperatsioon liitmisega: lisage ülejäänud komplemendi jagaja ülejäänud osadele ja vabanege seejärel tulemuse esimesest numbrist. Pärast iga lahutamist lisage jagatisele 1. Korrake ülaltoodud protsessi, kuni jääk on jagajaga võrdne või väiksem:
    • 011110 + 111011 = 1011001 → 011001 (jagatis 1 + 1 = 10)
    • 011001 + 111011 = 1010100 → 010100 (jagatis 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 on väiksem kui 101, seega pole vaja rohkem arvutada. Privaatne 111 on jaotusoperatsiooni lõpptulemus. Ülejäänud osa on lahutamise lõpptulemus; meie näites on see 0 (jääki pole).

Näpunäiteid

  • Ignoreerige märgi bitti allkirjastatud binaararvudes, kui te ei pea teadma, kas tulemus on positiivne või negatiivne.
  • Nende kahe täiendusmeetod ei kehti, kui numbrid sisaldavad erinevaid numbreid. Sellisel juhul lisage alumisele numbrile (vasakul) vastav number 0.
  • Enne binaarsete toimingute rakendamist masinajuhistele tuleb kaaluda virna suurendamise, vähendamise või poputamise juhiseid.