Calcul héxadécimal en C++

salut a tous
voila je travaille sur un programme en C++ qui calculerait la somme de deux nombres hécadécimaux entrés par l'utilisateur.

tout d'abord j'aurai voulu savoir comment stocké des nombres héxadécimaux dans des variables
et ensuite comment les additionné

merci pour votre réponse

14 réponses

  1. Contributeur
    pour le C, comme le C++, l'utilisation du décimal ou de l'héxadécimal est strictement identique. Les variables sont les memes.
    en C++, pour afficher un nombre en hexa, on fera cout<<hex<<la_variable (pour repasser en décimal, on met dec à la place de hex
    en C, on utilisera, pour afficher un entier, printf("%x",la_variable)
    http://www.cplusplus.com/reference/cstdio/printf/
    1. bonjour je dois apprendre mais nombre hexadecimal et binaire pour demain car j'azi un concour et je ne l'ai connais pas mefci de vos reponse--
      snake59850 si je peux aider n'esiter pas
      1. Ups, mélange de C et C++.
        Utiliser les streams (flux d'E/S)

        // header à inclure
        #include <iostream>
        // à ne pas faire dans un header.
        // risque de méchants conflits sinon !
        using namespace::std;
        // la sortie sur le flux standard
        cout << hex << 0xFC0F + 0x7E81 << endl;

        Enjoy !
        1. Bonjour,
          la soustraction en hexadecimal ...comment ca marche?et le signe? merci
          1. De rien.
            Bonne programmation.

            A++

            La pensée ne commence qu'avec le doute.
            ROGER MARTIN DU GARD
            1. C'est dans stdlib.h ou string.h

              La pensée ne commence qu'avec le doute.
              ROGER MARTIN DU GARD
              1. encore une petite question
                c'est quoi la librairie pour utilisée strtol car il me la reconnait pas
                merci bcp

                :-)
                1. Voici un petit exemple alors.
                  Je n'y ai pas géré les erreurs en cas de saisie non conforme au format héxa, mais tu trouveras des infos à ce sujet dans l'aide de ton compilo et puis il faut bien que tu bosses un peu non ;-))

                  int main(int argc, char *argv[])
                  {
                    // Contiendrons les saisies converties
                    int nb_ent, nb_ent1;
                    // Recevra la saisie
                    char chaine_tempo[5];
                    // Saisie du 1er nombre au format héxa
                    cin >> chaine_tempo;
                    // Conversion de la chaine héxa du 1er nombre en un nombre entier
                    nb_ent=strtol(chaine_tempo,NULL,16);
                    // Saisie du 2ème nombre au format héxa
                    cin >> chaine_tempo;
                    // Conversion de la chaine héxa du 2ème nombre en un nombre entier
                    nb_ent1=strtol(chaine_tempo,NULL,16);
                    // Affichage de l'addition des 2 nombres saisis
                    cout << nb_ent << " + " << nb_ent1  << " = " <<  nb_ent + nb_ent1 <<       endl;
                    return 0;
                  }
                  


                  A++

                  La pensée ne commence qu'avec le doute.
                  ROGER MARTIN DU GARD
                  1. Salut,
                    regardes du coté de la fonction "strtol"

                    A++

                    La pensée ne commence qu'avec le doute.
                    ROGER MARTIN DU GARD