Szerző:
Mark Sanchez
A Teremtés Dátuma:
2 Január 2021
Frissítés Dátuma:
1 Július 2024
Tartalom
A bináris számokat oszlopokra lehet osztani, hogy jobban megértsük magát a folyamatot, vagy írjunk egy egyszerű számítógépes programot. Használhatja a kiegészítő módszert is, amelyet ritkán használnak a programozásban. A gépi nyelvek általában pontozási algoritmust használnak a hatékonyabb működés érdekében, de ez a cikk nem erről szól.
Lépések
1/2 módszer: Hosszú osztás
- 1 Oszd meg oszlop szerint két tizedes szám. Ha elfelejtette a hosszú osztást, ossza el két tizedes (10. alap) számot: 172 ÷ 4. Ha a hosszú osztás nagyszerű, ugorjon a következő lépésre a bináris számok felosztásának megismeréséhez.
- Osztalék osztva osztó és kiderül magán.
- Hasonlítsa össze az osztót az osztalék első számjegyével. Ha az osztó nagyobb, mint ez a szám, hasonlítsa össze az osztót az osztalék két számjegyével, és így tovább, amíg az osztó kisebb nem lesz, mint a szóban forgó szám. Példánkban hasonlítsa össze a 4 -et és az 1 -et, vegye figyelembe, hogy 4> 1, majd hasonlítsa össze a 4 -et a 17 -el.
- Írja fel a hányados első számjegyét az osztó alá. A 4 -et és a 17 -et összehasonlítva látni fogja, hogy 17 ÷ 4 = 4 a maradékkal, ezért írja a 4 -et az osztó (4) alatti hányados első számjegyeként.
- Szorozzuk és vonjuk le, hogy megtaláljuk a maradékot. Szorozzuk meg a hányados első számjegyét az osztóval; példánkban: 4 x 4 = 16. Írjon 16 -ot 17 alá, majd vonjon le 17-16 -ot, hogy megtalálja az 1 maradékát.
- Ismételje meg az összehasonlítást. Hasonlítsa össze a 4 osztót az 1 fennmaradó részével, vegye figyelembe, hogy 4> 1, és "hordozza" az osztalék következő számjegyét, hogy összehasonlítsa a 4 -et 12 -vel. Mivel 12 ÷ 4 = 3 maradék nélkül, ezért írja be a 3 -at a második számjegyként a hányados. A végső válasz 43.
- 2 Az oszlop két bináris számot oszt el. Például 10101 ÷ 11. Itt 10101 az osztalék, 11 pedig az osztó. Hagyjon elegendő teret a számításoknak.
- 3 Hasonlítsa össze az osztót az osztalék első számjegyével. A bináris számok esetében ezt könnyebb megtenni, mint a tizedes számokkal: vagy a számot nem osztja az osztó, és 0 -t írunk, vagy osztjuk, és 1 -et írunk.
- 11> 1, tehát 1 nem osztható 11 -gyel. Írja a 0 -t a hányados első számjegyeként (az osztó alá).
- 4 Hasonlítsa össze az osztószámokat, amíg meg nem kapja az 1 -et. Példánkban:
- Hasonlítsa össze az osztót az osztalék két számjegyével. 11> 10. Írja be a 0 -t a hányados második számjegyeként.
- Hasonlítsa össze az osztót az osztalék három számjegyével. 11 101. Írja be az 1 -et a hányados harmadik számjegyeként.
- 5 Számítsa ki a maradékot. Szorozzuk meg a talált számjegyet (1) az osztóval (11), és írjuk az eredményt az osztalék alá (nevezetesen a megfelelő számjegyek alá). Ne feledje, hogy az 1 -et osztóval osztva mindig osztó következik.
- Írja az osztót az osztalék alá. Példánkban írjon 11 -et az osztalék első három számjegye (101) alá.
- Vonja le a 101-11 -et, hogy megkapja a maradék tízet. Ha nem emlékszik a bináris számok kivonására, olvassa el ezt a cikket.
- 6 Ismételje meg a leírt lépéseket, amíg meg nem oldja a problémát. Adja hozzá az osztalék következő számjegyét a maradékhoz, hogy 100 -at kapjon. Mivel 11 100, írja be az 1 -et a hányados negyedik számjegyeként. További számítások:
- írjon 11 -et 100 alá és vonjon le, hogy 1 maradékot kapjon;
- adja hozzá az osztalék utolsó számjegyét a maradékhoz, hogy 11 -et kapjon;
- 11 = 11, ezért írjon 1 -et a hányados utolsó számjegyeként.
- Nincs maradék, így a probléma megoldódott. Válasz: 00111 vagy csak 111.
- 7 Adjon hozzá egy tizedespontot (ha szükséges). Néha az eredmény nem egész szám. Ha az osztalék utolsó számjegyének felhasználása után maradékot kap, akkor az osztalékhoz ", 0", a hányadoshoz ",", a következő számjegy "lebontásához" és a számítás folytatásához. Ismételje meg ezt a folyamatot, amíg meg nem kapja a kívánt eredményt, majd kerekítse fel a választ. Az eredmény kerekítéséhez szabaduljon meg az utolsó 0 -tól, vagy ha az utolsó számjegy 1, dobja el, és adjon hozzá 1 -et az új utolsó számjegyhez. Programozáskor kövesse az egyik szabványos kerekítési algoritmust, hogy elkerülje a hibákat a bináris és a tizedes számok közötti konvertálás során.
- Két bináris szám elosztása ismétlődő törtrészt eredményezhet; ez gyakrabban fordul elő, mint tizedes számok osztásakor.
- Kérjük, vegye figyelembe, hogy a tizedesvessző nemcsak tizedes, hanem bináris jelölésekben is használatos.
2. módszer 2 -ből: kiegészítők
- 1 Ismerje meg az alapelveket. Két szám (tizedes és bináris) elosztásához kivonhatja az osztót az osztalékból, majd egymást követően levonhatja az osztót a maradékból, amíg negatív számot nem kap; ebben az esetben számolni kell, hogy hány kivonást hajtottak végre. Például számítsa ki a 26 ÷ 7 értéket:
- 26 - 7 = 19 (1 kivonás)
- 19 - 7 = 12 (2)
- 12 - 7 = 5 (3)
- 5 = 7 = -2. Negatív szám, így nem kell tovább vonni. Válasz: 3, 5 maradékkal. Vegye figyelembe, hogy ez a módszer nem számítja ki a válasz töredékét.
- 2 Ismerje meg az összeadás módszerének alapjait. A fenti módszer alkalmazható bináris számokra, vagy használhat egy hatékonyabb módszert, amely időt takarít meg a bináris számok felosztásának programozásakor. Ezt a módszert komplement módszernek nevezik. Például vonjon le 111 - 011 -et (mindkét számnak azonos számjegyűnek kell lennie):
- Keresse meg a második szám kiegészítését. Ehhez vonjuk ki ennek a számnak minden számjegyét az 1 -ből. A binárisban csak az 1 -et cseréljük 0 -ra, a 0 -t 1 -re. Példánkban a 011 -ből 100 lesz.
- Adja hozzá az eredményhez 1: 100 + 1 = 101. Ezt a folyamatot kettő komplementjének nevezik, és lehetővé teszi, hogy a kivonást összeadással helyettesítsék. Alapvetően ez a módszer az, hogy negatív számot ad hozzá a pozitív kivonása helyett.
- Adja hozzá az eredményt az első számhoz. Írja le és számítsa ki az összeadási műveletet: 111 + 101 = 1100.
- Dobja el az eredmény első számjegyét, hogy megkapja a végső választ: 1100 → 100.
- 3 Kombinálja a fent leírt két módszert. Az első módszer a szekvenciális kivonási módszer, a második pedig a kettő komplementmódszere. Ezeket a módszereket egyesíthetjük, hogy számok elosztására használjuk (a módszerek kombinálásának folyamatát az alábbiakban ismertetjük). Ha szeretné, próbálja meg kitalálni, hogyan kombinálhatja a két módszert.
- 4 Vonja ki az osztót az osztalékból, a kivonást kettő komplement összeadásával helyettesítve. Például: 100011 ÷ 000101.Először fordítsa össze az 100011 - 000101 kivonást két kiegészítéssel:
- Kettő kiegészítése: 000101 = 111010 + 1 = 111011
- Kiegészítés: 100011 + 111011 = 1011110
- Szabaduljon meg az első számjegytől: 011110
- 5 Adjon hozzá 1 -et a hányadoshoz. Egy számítógépes programban ez egy karakterlánc, ahol a hányadost eggyel növeljük. Jegyezzen fel papíron, hogy elkerülje a zavart. Egyszer sikeresen kivontál, tehát a hányados ekkor 1.
- 6 Ismételje meg a leírt folyamatot. Ehhez vonja le az osztót a maradékból. A maradék az utolsó számítás eredménye. Cserélje le a kivonási műveletet összeadással: adja hozzá a kettő komplement osztóját a maradékhoz, majd szabaduljon meg az eredmény első számjegyétől. Minden kivonás után adjon hozzá 1 -et a hányadoshoz. Ismételje meg a fenti eljárást, amíg a maradék egyenlő vagy kisebb, mint az osztó:
- 011110 + 111011 = 1011001 → 011001 (1 + 1 = 10 hányados)
- 011001 + 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 kisebb, mint 101, így nincs szükség további számításokra. Magán 111 az osztási művelet végeredménye. A fennmaradó rész a kivonási művelet végeredménye; példánkban ez 0 (nincs maradék).
Tippek
- Hagyja figyelmen kívül az előjeles bitet az aláírt bináris számokban, hacsak nem kell tudnia, hogy az eredmény pozitív vagy negatív.
- A kettő kiegészítési módszere nem alkalmazható, ha a számok különböző számjegyeket tartalmaznak. Ebben az esetben adja hozzá a megfelelő 0 -t az alsó számhoz (bal oldalon).
- Mielőtt bináris műveleteket alkalmazna a gépi utasításokra, figyelembe kell venni a verem növelésére, csökkentésére vagy felpattintására vonatkozó utasításokat.