A bináris felosztás megoldható a hosszú osztási módszerrel, amely módszerrel maga is megtaníthatja az osztási folyamatot, valamint egyszerű számítógépes programokat készíthet. Ezenkívül az iteratív kivonás kiegészítő módszerei olyan megközelítéseket is nyújthatnak, amelyeket esetleg nem ismersz, még akkor sem, ha ezeket általában nem használják a programozáshoz. A gépi nyelvek általában közelítő algoritmusokat használnak, hogy hatékonyabbak legyenek, de ezt a cikk nem írja le.
Lépés
1 /2 -es módszer: Long Division használata
1. lépés. Tanulja meg újra a tizedes hosszú osztást
Ha régóta nem használ hosszú osztást a rendes tizedes (tizedes alap) számrendszerben, akkor nézze át újra az alapokat a 172 példaprobléma osztva 4 -gyel. Ellenkező esetben hagyja ki ezt a lépést, és folytassa a következő lépéssel a felfedezéshez hasonló folyamat bináris számokkal.
- Számláló osztva névadó, és az eredmény az hányados.
- Hasonlítsa össze a nevezőt a számláló első számával. Ha a nevező nagyobb, folytassa a számok hozzáadását a számlálóhoz, amíg a nevező kisebb nem lesz. (Ha például 172 -t osztunk 4 -gyel, akkor 4 -et 1 -gyel hasonlítunk össze, tudjuk, hogy 4 nagyobb 1 -nél, ezért folytassa a 4 -es összehasonlítását 17 -el.)
- Írja fel a hányados első számjegyét az összehasonlításban használt utolsó számláló fölé. Ha összehasonlítjuk a 4 -et a 17 -tel, akkor azt látjuk, hogy 4 -et négyszer 17 takar, tehát 4 -et írunk a hányados első számaként, 7 felett.
- Szorozzuk és vonjuk le, hogy megkapjuk a maradékot. Szorozzuk meg a hányadost a nevezővel, ami azt jelenti, hogy 4 × 4 = 16. Írja a 16 -ot 17 alá, majd vonja le a 17 -et 16 -mal, hogy megkapja a maradékot, ami 1.
- Ismételje meg a folyamatot. Ismét összehasonlítjuk a nevezőt, amely 4, a következő számmal, ami 1, észrevesszük, hogy 4 nagyobb, mint 1, majd "kivonjuk" a következő számot a számlálóból, folytatjuk a 4 és a 12 összehasonlításával. 12 -tel háromszor nincs lefedve, így a 3 -at írjuk a hányados következő számaként. A válasz 43.
2. lépés Készítsen el egy hosszú osztási feladatot binárisan
Vegyük az 10101 11. Írjunk problémát a hosszú osztáshoz, 10101 -et használva számlálóként és 11 -et nevezőként. Hagyjon helyet a felette a hányados írásának, alatta pedig a számítások írásának helyének.
3. lépés Hasonlítsa össze a nevezőt a számláló első számjegyével
Ugyanúgy működik, mint a hosszú osztás tizedesben, de valójában sokkal könnyebb a bináris számrendszerben. A bináris programban csak két lehetőség van, vagy nem oszthatja el a számot a nevezővel (azaz 0), vagy a nevező csak egyszer szerepel (jelentése 1):
11> 1, tehát a 11 -et nem "takarja" 1. Írja be a 0 számot a hányados első számaként (a számláló első számjegye fölé)
4. lépés. Dolgozzon a következő számmal, és ismételje meg, amíg meg nem kapja az 1 -es számot
Példánk következő lépései:
- Származtatja le a következő számot a számlálóból. 11> 10. Írjon 0 -t a hányadosba.
- Csökkentse a következő számot. 11 <101. Írja be a hányadosba az 1 -es számot.
5. lépés Keresse meg az osztás többi részét
A hosszú osztási tizedesjegyekhez hasonlóan szorozzuk meg az imént kapott számot (1) a nevezővel (11), majd írjuk az eredményt a számláló alá az imént kiszámított számmal párhuzamosan. A bináris számrendszerben összefoglalhatjuk ezt a folyamatot, mert 1 x a nevező mindig ugyanaz, mint a nevező:
- Írja a nevezőt a számláló alá. Írjon ide 11 -et párhuzamosan a számláló első három számjegyével (101).
- Számoljon 101 - 11, hogy megkapja az osztás fennmaradó részét, azaz 10. Nézze meg, hogyan vonhatja ki a bináris számokat, ha újra kell tanulnia.
6. lépés. Ismételje meg, amíg a probléma megoldódik
Csökkentse a nevező következő számát az osztás többi részére, hogy 100 -at kapjon. Mivel 11 <100, írja be az 1 -et a következő számnak az osztásban. Folytassa a számítást, mint korábban:
- Írjon 11 -et 100 alá, majd vonjon le 1 -et.
- Csökkentse a számláló utolsó számjegyét 11 -re.
- 11 = 11, ezért írjon 1 -et a hányados (válasz) utolsó számjegyeként.
- Mivel nincs maradék, a számítás kész. A válasz 00111vagy csak 111.
7. lépés Ha szükséges, adjon hozzá radix pontokat
Néha a számítás eredménye nem egész szám. Ha az utolsó számjegy használata után még mindig van osztás, adjon hozzá ".0" -ot a számlálóhoz és "." a hányadoshoz, így még levezethet egy számot, és folytathatja a számítást. Ismételje addig, amíg el nem éri a kívánt pontosságot, majd kerekítse meg az eredményt. Papíron lefelé kerekíthet az utolsó 0 eltávolításával, vagy ha az utolsó 1, akkor dobja ki, és adja hozzá a legutóbbi utolsó számot 1 -hez. A programozás során kövesse a szabványos kerekítési algoritmusok egyikét, hogy elkerülje a hibákat a bináris számok konvertálásakor tizedesre és fordítva.
- A bináris felosztás gyakran ismétlődő törtrészeket eredményez, gyakrabban, mint ugyanaz a folyamat a tizedesrendszerben.
- Ezt gyakrabban "radix pontnak" nevezik, amely bármely bázisra vonatkozik, mivel a "tizedespont" kifejezés csak a tizedesrendszerben érvényes.
2. módszer 2 -ből: A kiegészítő módszer használata
1. lépés: Az alapfogalom megértése
Az osztási probléma megoldásának egyik módja - bármilyen alapon - az, hogy folyamatosan kivonjuk a nevezőt a számlálóból, majd a maradékot, számolva, hogy hányszor ismételhető meg ez a folyamat, mielőtt negatív számot kapunk. A következő példa egy számítás a tizedik bázisban, 26 7 számítással:
- 26 - 7 = 19 (kivonás 1 alkalommal)
- 19 - 7 = 12 (2)
- 12 - 7 = 5 (3)
- 5 = 7 = -2. Negatív számok, ezért lépjen hátra. Az eredmény 3, a maradékot pedig elosztjuk 5 -vel. Vegye figyelembe, hogy ez a módszer nem számítja ki a válasz töredékét.
2. lépés. Ismerje meg, hogyan kell kivonni a kiegészítőkkel
Bár a fenti módszert könnyen használhatja egy bináris rendszerben, csökkenthetjük egy hatékonyabb módszer használatát is, ami időt takarít meg, amikor a számítógépet bináris felosztásra programozza. Ez a kivonás a komplement módszerrel bináris formában. Íme a 111 - 011 számítás alapjai (győződjön meg arról, hogy a két szám azonos hosszúságú):
- Keresse meg a második számhoz tartozó kiegészítőt úgy, hogy minden számjegyet kivon az 1 -ből. Ez a lépés egyszerűen elvégezhető a bináris rendszerben, ha 1 -ről 0 -ra és 0 -ról 1 -re változtat. Ebben a példában 011 -től 100 -ig.
- A számítás eredményéhez adjunk hozzá 1 -et: 100 + 1 = 101. Ezt a számot kettő komplementjének nevezzük, így a kivonás összeadásként megoldható. Lényegében ennek a számításnak az eredménye az, hogy a folyamat befejezése után negatív számokat adunk hozzá, és nem vonunk le pozitív számokat.
- Adja hozzá az eredményt az első számhoz. Írja le és oldja meg az összeadási feladatot: 111 + 101 = 1100.
- Távolítson el több számot. A végső eredmény eléréséhez távolítsa el az első számot a számítási eredményből. 1100 → 100.
3. lépés Kombinálja a fent leírt két fogalmat
Most már ismeri a kivonási módszert az osztási feladatok megoldására, valamint a kettő komplement módszerét a kivonási feladatok megoldására. Az alábbi lépésekkel kombinálhatja a kettőt egy módszerbe az osztási probléma megoldásához. Ha akarod, próbáld meg magad megoldani, mielőtt folytatod.
4. lépés. Vonjuk ki a nevezőt a számlálóból, és adjuk hozzá a kettő komplementerét
Dolgozzunk az 100011 000101 feladaton. Az első lépés az 100011 - 000101 megoldása, a kettő komplement módszerének használatával, hogy ezt a számítást összegként alakítsuk át:
- Kettő 000101 kiegészítése = 111010 + 1 = 111011
- 100011 + 111011 = 1011110
- Távolítsa el a felesleges számokat → 011110
Lépés 5. Adjon hozzá 1 -et az osztás eredményéhez
Egy számítógépes programban itt adhat hozzá 1 -et a hányadoshoz. Papíron jegyzeteljen a sarkokban, hogy ne keveredjenek más munkákkal. Egyszer sikerült kivonni, így az eddigi felosztás eredménye 1.
6. lépés: Ismételje meg a folyamatot úgy, hogy kivonja a nevezőt a számítás többi részéből
Utolsó számításunk eredménye az osztás többi része, miután a nevezőt egyszer "lefedtük". Folyamatosan adja hozzá a nevező kettes kiegészítését minden ismétléshez, és távolítsa el az extra számjegyeket. Adjon hozzá 1 -et a hányadoshoz minden iterációnál, ismételje meg mindaddig, amíg a számítás fennmaradó részét meg nem kapja a nevezővel vagy kisebbel:
- 011110 + 111011 = 1011001 → 011001 (1 + 1 = 10 hányados)
- 0110001 + 111011 = 1010100 → 010100 (10 + 1 = 11 hányados)
- 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)
- A 0 kevesebb, mint 101, ezért itt megállunk. A válasz erre a felosztási folyamatra az 111. Míg az osztás többi része a kivonási folyamat végeredménye, ebben az esetben 0 (nincs maradék).
Tippek
- A bináris matematika gépi utasításkészletben történő alkalmazása előtt mérlegelni kell az emelési (1 összeadási), leengedési (1 -es kivonási) vagy a veremből (pop stack) való eltávolításra vonatkozó utasításokat.
- A kettő kiegészítő metódusa kivonásra nem működik, ha a számok eltérő számjegyűek. Ennek kijavításához adjon hozzá egy nullát a szám elejéhez egy kisebb számhoz.
- Számítás előtt figyelmen kívül hagyja a negatív számokat a negatív bináris számokban, kivéve annak megállapítására, hogy a válasz pozitív vagy negatív.