calcul du modulo de très grand nombre
Bonjour tout le monde,
Je viens vous solliciter sur mon petite problème (en faite, il me fait mal à la tête à force) et je n'arrive pas à trouver la solution.
Voila, je dois faire un modulo de 2 grands nombres, qui font chacun 2048bit. J'ai bien essayé de trouver des librairies open source pour les utiliser, mais celles que j'ai utilisé, ne me donne pas le résultat attendu.
En plus de faire 2048 bit, je dois utiliser des tableaux de unsigned char pour pouvoir faire ce modulo.
J'avais dans l'idée de calculer le modulo en faisant case par case par rapport au diviseur. Je m'explique pour que ce soit plus clair
Imaginons que j'ai 2 arguments le dividende et le diviseur:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
unsigned char dividende [] = {0x25, 0x86, 0x58, 0x89};
unsigned char diviseur [] = {0x45, 0x61};
unsigned int result =0;
result = dividende[0] % diviseur[0];
/* faire la même chose avec l'ensemble des nombres
* en réutilisant "result pour la suite du calcul
*/
etc... |
En sachant que je veux le résultat du modulo du dividende qui est 0x25865889 par le diviseur 0x4561
Si, je ne suis pas clair dans mon problème, surtout faite le moi savoir.
Merci beaucoup pour votre aide
Smiug