Computerarithmetiek

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?

  1. ABij deling heeft het resultaat meer bits dan bij vermenigvuldiging
  2. BElk bit van het quotiënt hangt af van het vorige resultaat en is moeilijk te parallelliseren
  3. CDeelschakelingen kunnen alleen in drijvende komma worden gemaakt
Antwoord en toelichting tonen

Antwoord: B. Elk bit van het quotiënt hangt af van het vorige resultaat en is moeilijk te parallelliseren

Bij vermenigvuldiging kunnen alle partiële producten tegelijk worden gevormd en met een Wallace-boom en dergelijke parallel worden opgeteld. Bij een deler die werkt als staartdeling wordt echter bepaald of de deler van de rest kan worden afgetrokken om één bit van het quotiënt vast te stellen, en de daaruit volgende rest bepaalt het volgende bit, zodat elke stap afhangt van het vorige resultaat. Daardoor gaat het per cyclus slechts één of enkele bits vooruit en kunnen tientallen cycli nodig zijn. Er bestaat ook een methode waarbij de reciproke met de methode van Newton wordt bepaald en de deling in een vermenigvuldiging wordt omgezet. Het aantal bits van het resultaat is niet groter.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Computerarithmetiek

  1. 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?
  2. Welke combinatie van de resultaten van −7 / 2 en −7 >> 1 (bij rekenkundige verschuiving naar rechts) voor het type int in C is juist?
  3. Wat is in C het resultaat van het aftrekken van 1 van 0 bij een niet-ondertekend 32-bits geheel getal (unsigned int)?
  4. Hoe wordt bij de optelling van niet-ondertekende gehele getallen vastgesteld dat het resultaat buiten het weer te geven bereik valt (overflow)?
  5. Welke uitspraak over de afstand tussen naburige weer te geven waarden van drijvendekommagetallen is juist?