Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Multiplication d'entiers signés



  1. #1
    Archange21

    Multiplication d'entiers signés


    ------

    Bonjour,
    je reste perplexe sur la multiplication de deux nombres, je m'explique.
    Voilà, je voudrais savoir ce que va donner la multiplication 123456789*123456789, en sachant qu'on a une machine disposant d'entiers signés et d'un processeur 32bits...
    Par avance merci de votre aide.

    -----

  2. #2
    jepoirrier

    Post Re : Multiplication d'entiers signés

    Bonjour,
    Le programme va boucler. La réponse à 123456789 * 123456789 est . Ici, il va essayer d'aller au-delà de la valeur maximale et va "boucler" (retomber à la valeur minimale). Le programme suivant en C va donner comme réponse 2537071545 :
    Code:
    #include<stdio.h>
    int main(void) {
       unsigned int a, b;
       a = 1234567889;
       b = a * a;
       printf("%u\n", b);
       return(0);
    }
    Si c'était une addition, il va essayer d'aller au-delà de 4294967295 (la valeur maximum d'un int 32 bits) et retombera à zéro, remontera jusque 4294967295, retombera à zéro et ainsi de suite (c'est + facile à comprendre avec l'addition).

  3. #3
    Pole

    Re : Multiplication d'entiers signés

    Si c'est en C, on peut utiliser le type long long.
    Mais je n'ai jamais réussi à l'afficher avec des printf....
    Pour comprendre la récursivité croisée, il faut comprendre les arbres d'appels. Et vice versa.

  4. #4
    invite79115743

    Re : Multiplication d'entiers signés

    Ou sinon utiliser une librairie qui permet de gerer les grands entiers

  5. A voir en vidéo sur Futura
  6. #5
    Archange21

    Re : Multiplication d'entiers signés

    Bonjour,
    merci pour vos réponses, alors il va boucler ok, mais pour donner un résultat, à choisir entre:
    -Cela va générer une erreur
    -Cela dépend du langage employé pour effectuer l'opération
    -1.52415750190521

    Quelle est la réponse la plus appropriée pour vous?

    Par avance merci à vous.

  7. #6
    jepoirrier

    Re : Multiplication d'entiers signés

    Bonjour,
    Ma réponse serait : cela dépend du compilateur employé et du binaire créé (mais je ne suis pas spécialiste du C).

  8. #7
    Pole

    Re : Multiplication d'entiers signés

    Je prends la réponse : donner le bon résultat.
    long long va jusqu'à 64 bits, GMP fait le reste.
    Pour comprendre la récursivité croisée, il faut comprendre les arbres d'appels. Et vice versa.

Discussions similaires

  1. [1ère S]Problème d'entiers consécutifs
    Par neo666 dans le forum Mathématiques du collège et du lycée
    Réponses: 23
    Dernier message: 24/10/2010, 21h04
  2. Tableau de signes
    Par D_B dans le forum Mathématiques du collège et du lycée
    Réponses: 15
    Dernier message: 04/03/2009, 12h07
  3. Tableau de Signes
    Par Ares_Deus dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 12/09/2007, 19h00
  4. Propriétés d'un ensemble d'entiers
    Par CollatzFan dans le forum Mathématiques du supérieur
    Réponses: 36
    Dernier message: 18/07/2007, 21h13
  5. mamma mia, somme d'entiers consécutifs
    Par athars dans le forum Mathématiques du collège et du lycée
    Réponses: 5
    Dernier message: 03/10/2006, 18h37
Découvrez nos comparatifs produits sur l'informatique et les technologies.