1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
   | #include <stdio.h>
#include <gmp.h>
 
int main(void)
{
  mpz_t entier; // mpz_t est le nom des entiers                                                                                                 
  mpz_t entierX2;
 
  // on initialise un entier avec un nombre de 40 chiffres en base 10                                                                           
  mpz_init_set_str(entier, "12345678901234567890123456789012345678901234567890", 10);
 
  // on initialise simplement et entierX2 contiendra 0                                                                                          
  mpz_init(entierX2);
 
  // on affiche entier avec le printf proposé par la bibliothèque GMP                                                                           
  gmp_printf("Un très grand nombre : '%Zd'\n", entier);
 
  // on va calculer le double de cet entier ...                                                                                                 
  mpz_add(entierX2, entier, entier);
 
  // On l'afficher aussi                                                                                                                        
  gmp_printf("Son double           : '%Zd'\n", entierX2);
 
  // Il faudra penser à libérer les nombres utilisés                                                                                            
  mpz_clear(entier);
  mpz_clear(entierX2);
 
  return 0;
} | 
Partager