Computerarithmetiek

Wat is het belangrijkste effect van het gebruik van het Booth-algoritme van radix 4 (Booth-codering) in een vermenigvuldiger?

  1. AHet resultaat van de vermenigvuldiging kan altijd exact worden bepaald zonder afronding
  2. BDe vermenigvuldiger wordt vervangen door cijfers met teken, zodat het aantal partiële producten ongeveer wordt gehalveerd
  3. CVermenigvuldigen van getallen met teken wordt onmogelijk, maar de schakeling wordt kleiner
Antwoord en toelichting tonen

Antwoord: B. De vermenigvuldiger wordt vervangen door cijfers met teken, zodat het aantal partiële producten ongeveer wordt gehalveerd

Bij gewone vermenigvuldiging ontstaat per bit van de vermenigvuldiger één partieel product, dus bij n bit moeten n partiële producten worden opgeteld. Bij Booth-codering van radix 4 wordt de vermenigvuldiger per twee bits (met een blik op drie overlappende bits) vervangen door cijfers uit −2, −1, 0, +1, +2, zodat het aantal partiële producten ongeveer n/2 wordt. De factoren −2 en +2 vragen een verschuiving van 1 bit en negatieve waarden kunnen met het tweecomplement worden gevormd, zodat de schakeling eenvoudig is. Doordat er minder partiële producten zijn, wordt de optelschakeling kleiner en sneller. Vermenigvuldigen van getallen met teken wordt ook vanzelf ondersteund.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Computerarithmetiek

  1. Hoeveel bits zijn nodig om het product van twee niet-ondertekende 8-bitsgetallen zonder overflow weer te geven?
  2. Welke uitdrukking vermenigvuldigt een geheel getal x met 10 met verschuivingen en optellingen, zonder een vermenigvuldigingsinstructie?
  3. Wat is de juiste reden dat gewone gehele-getaldelers (die het quotiënt bit voor bit bepalen, zoals restoring en non-restoring) doorgaans trager zijn dan vermenigvuldigers?
  4. Wat is het resultaat wanneer bij een 8-bits ondertekend geheel getal −8 (1111 1000) met een rekenkundige verschuiving 1 bit naar rechts wordt geschoven?
  5. Welke combinatie van de resultaten van −7 / 2 en −7 >> 1 (bij rekenkundige verschuiving naar rechts) voor het type int in C is juist?