Arithmétique des ordinateurs

Pourquoi un diviseur entier classique (à restauration ou sans restauration, calculant le quotient bit par bit) est-il généralement plus lent qu'un multiplieur ?

  1. AParce que la division produit un résultat comportant plus de bits que la multiplication
  2. BParce que chaque bit du quotient dépend du résultat précédent, ce qui rend la parallélisation difficile
  3. CParce qu'un circuit de division ne peut être réalisé qu'en virgule flottante
Afficher la réponse et l'explication

Réponse : B. Parce que chaque bit du quotient dépend du résultat précédent, ce qui rend la parallélisation difficile

Une multiplication génère simultanément tous les produits partiels et les additionne en parallèle, par exemple avec un arbre de Wallace. Un diviseur fondé sur la division posée détermine un bit du quotient en vérifiant si le diviseur peut être soustrait du reste, puis utilise le reste obtenu pour le bit suivant : chaque étape dépend de la précédente. Il ne progresse donc que d'un à quelques bits par cycle et peut nécessiter plusieurs dizaines de cycles. Certaines méthodes calculent l'inverse par la méthode de Newton pour ramener la division à une multiplication. Le résultat ne comporte pas davantage de bits.

S'entraîner sur ce thème Retour au thème

Autres questions sur Arithmétique des ordinateurs

  1. Quel est le résultat du décalage arithmétique d'un bit vers la droite de −8 (1111 1000) en entier signé sur 8 bits ?
  2. En langage C, quelle combinaison des résultats de −7 / 2 et de −7 >> 1 (décalage arithmétique à droite) en type int est correcte ?
  3. En langage C, quel est le résultat de la soustraction de 1 à 0 pour un entier non signé de 32 bits (unsigned int) ?
  4. Pour l'addition de deux entiers non signés, quelle méthode détermine correctement que le résultat a dépassé la plage représentable (débordement) ?
  5. Quelle description de l'écart entre valeurs représentables voisines en virgule flottante est correcte ?