La technique de multiplication dite russe consiste à diviser par 2 le multiplicateur (et ensuite les quotients obtenus), jusqu'à un quotient nul, et à noter les restes ; et à multiplier parallèlement le multiplicande par 2. On additionne alors les multiples obtenus du multiplicande correspondant aux restes non nuls.
Cela revient en fait à écrire le multiplicateur en base 2 et à faire ensuite des multiplications par 2 et des additions. C'est donc une variante de la technique de la multiplication en Égypte antique, bien qu'elle ait pu être redécouverte indépendamment.
En pseudo code, l'algorithme de multiplication dite russe peut s'écrire :
Fonction mult (x,y)
r = 0
Tant que x est différent de 0
Si x est impair alors
r = r + y
x = x - 1
fin si
x = x / 2
y = y * 2
Fin tant que
Renvoyer r
Fin fonction
Note : les opérations effectuées ici sont des opérations sur des entiers et sont à valeurs dans les entiers.
Pour 13 x 238 on peut écrire :
13 = 1101 en base 2 (obtenu en lisant les restes de bas en haut dans le tableau, et écrit selon la convention usuelle de droite — unités — à gauche — puissances élevées).
Pour limiter le nombre d'opérations, il faut généralement choisir comme multiplicateur le plus petit des deux nombres à multiplier. Toutefois, si l'un d'eux est une puissance de 2, c'est plutôt lui qu'il faut préférer (il n'y a pas d'addition).
Les restes deviennent forcément nuls, et donc le résultat devient stable, à partir du moment où le quotient est lui-même nul. Formellement, la condition d'arrêt (s'arrêter lorsque le quotient est nul) est donc seulement une commodité.
Graphiquement, l'on peut dire qu'une multiplication transforme un rectangle multiplicateur x multiplicande en une ligne en conservant le nombre d'éléments.
L'algorithme graphique consiste pour la multiplication russe à :
a) si le multiplicateur est pair, prendre la moitié inférieure du rectangle et la coller sur un côté (on transforme ainsi un rectangle 2n x p en un rectangle n x 2p) ; b) si le multiplicateur est impair, enlever d'abord la dernière ligne et la mettre à part, ce qui ramène au cas précédent 1.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Discrete mathematics is a discipline with applications to almost all areas of study. It provides a set of indispensable tools to computer science in particular. This course reviews (familiar) topics a
Le système binaire (du latin binārĭus, « double ») est le système de numération utilisant la base 2. On nomme couramment bit (de l'anglais binary digit, soit « chiffre binaire ») les chiffres de la numération binaire positionnelle. Un bit peut prendre deux valeurs, notées par convention 0 et 1. Le système binaire est utile pour représenter le fonctionnement de l'électronique numérique utilisée dans les ordinateurs. Il est donc utilisé par les langages de programmation de bas niveau.
thumb|La multiplication de 4 par 3 donne le même résultat que la multiplication de 3 par 4. La multiplication est l'une des quatre opérations de l'arithmétique élémentaire avec l'addition, la soustraction et la division. Cette opération est souvent notée avec la croix de multiplication « × », mais peut aussi être notée par d'autres symboles (par exemple le point médian « · ») ou par l'absence de symbole. Son résultat s'appelle le produit, les nombres que l'on multiplie sont les facteurs.
Explore la génération de nombres quantiques aléatoires, en discutant des défis et des implémentations de générer une bonne randomité à l'aide de dispositifs quantiques.
Couvre la caractérisation des circuits à l'aide d'organigrammes et de règles de réduction.
Couvre les propriétés et les opérations des espaces vectoriels, y compris l'addition et la multiplication scalaire.
In this paper we present a new multiplication algorithm for residues modulo the Mersenne prime 2521−1. Using this approach, on an Intel Haswell Core i7-4770, constant-time variable-base scalar multiplication on NIST’s (and SECG’s) curve P-521 requires ...
In this thesis, we study two distinct problems.
The first problem consists of studying the linear system of partial differential equations which consists of taking a k-form, and applying the exterior derivative 'd' to it and add the wedge product with a 1- ...
Generalised Mersenne Numbers (GMNs) were defined by Solinas in 1999 and feature in the NIST (FIPS 186-2) and SECG standards for use in elliptic curve cryptography. Their form is such that modular reduction is extremely efficient, thus making them an attrac ...