Ce que je souligne, c'est qu'il connaît l'ambitus du résultat -> <32 bits
C'est à peu près la seule chose clairement définie.
Cela doit donc apparaître de manière explicite dans l'écriture.
Le cas "litigieux" est celui ou a<=2^32/2 -> +1073741823 / -1073741824 (puisqu'il est question d'IMUL): Une valeur max. sur 30 bits multipliée par une valeur Max <=2.
Tu reconnaîtras que c'est un cas limite ou un simple SAL 1 ou 0 est largement suffisant.
Allons plus loin, plus la résolution de "b" augmente plus celle de "a" diminue. Très rapidement, la chose qui vient à l'esprit c'est qu'il est question d'un produit de deux integer signés de taille word... -32768 * -32768.
C'est pour cela qu'il est important de le faire apparaître dans l'écriture, non seulement pour des raisons de vitesse (bien que ça ne soit pas l'important de la problématique exposée) mais surtout pour une raison de maintenance facilitée par une écriture conventionnée (coder propre sous-entend le respect de certaines règles basiques).
Partager