Partage
  • Partager sur Facebook
  • Partager sur Twitter

La somme de deux chaines de caracteres

    20 septembre 2018 à 17:56:04

     Bonjour a tous,

    je voudrais faire addition de deux chaines de chiffres longs.

    j ai utiliser la methode atoi mais malheureusement il fonctionne seulement avec les entiers (int=atoi(chaine))

    et pas pour les nombres qui sont longs.

    j'espere avoir une reponse  slvp.

    • Partager sur Facebook
    • Partager sur Twitter
      20 septembre 2018 à 18:07:57

      Hello,

      Utilise strtoul().

      Maintenant, si tu veux additionner 684896316811615316514894161894163189651891961 avec 54861463136151651361630651561631561315616 il y a deux solutions: soit tu utilises une bibliothèque spécialisée (gmp par exemple), soit tu programmes l'addition comme on te l'a appris lorsque tu es entré à l'école à 12 ans (mais ce résultat-là ne sera qu'affichable, pas utilisable).

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        21 septembre 2018 à 14:27:19

        edgarjacobs a écrit:

        Hello,

        Utilise strtoul().

        Maintenant, si tu veux additionner 684896316811615316514894161894163189651891961 avec 54861463136151651361630651561631561315616 il y a deux solutions: soit tu utilises une bibliothèque spécialisée (gmp par exemple), soit tu programmes l'addition comme on te l'a appris lorsque tu es entré à l'école à 12 ans (mais ce résultat-là ne sera qu'affichable, pas utilisable).

        merci pour votre reponse edgarjacobs

        mais j'ai pas bien compris ton solution.

        alors, je dois creer une fonction qui fait l'addition de deux chaines d'entiers  peu importe ses longueurs et retourne le resultat dans une chaine sous le prototype: (char *addition(char *ch1,char *ch2))


        • Partager sur Facebook
        • Partager sur Twitter
          21 septembre 2018 à 14:42:55

          Re,-

          Le terme long  prête à confusion.

          • Si par long, tu penses "beaucoup de chiffres" (comme dans ce que j'ai écrit), alors oui, tu dois écrire une fonction dont le prototype serait char *add(char *s1,char *s2);
          • Si par long, tu penses au type long du C (comme le type int ou char), alors tu peux utiliser strtoul()
          • Partager sur Facebook
          • Partager sur Twitter

          On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

          La somme de deux chaines de caracteres

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown