Calcul héxadécimal en C++

ptit-bichon Messages postés 17 Statut Membre -  
Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Ravachol Messages postés 568 Statut Membre 120
     
    Salut,
    regardes du coté de la fonction "strtol"

    A++

    La pensée ne commence qu'avec le doute.
    ROGER MARTIN DU GARD
    0
  2. ptit-bichon Messages postés 17 Statut Membre 8
     
    ouai
    merci mais tu l'utilise comment ( je débute )
    merci @+
    0
  3. Ravachol Messages postés 568 Statut Membre 120
     
    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
    0
  4. ptit-bichon Messages postés 17 Statut Membre 8
     
    ouai
    t'inquiete je vais essayer de trouvé
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ptit-bichon Messages postés 17 Statut Membre 8
     
    encore une petite question
    c'est quoi la librairie pour utilisée strtol car il me la reconnait pas
    merci bcp

    :-)
    0
  7. Ravachol Messages postés 568 Statut Membre 120
     
    C'est dans stdlib.h ou string.h

    La pensée ne commence qu'avec le doute.
    ROGER MARTIN DU GARD
    0
  8. ptit-bichon Messages postés 17 Statut Membre 8
     
    ok
    beh merci bcp
    0
  9. Ravachol Messages postés 568 Statut Membre 120
     
    De rien.
    Bonne programmation.

    A++

    La pensée ne commence qu'avec le doute.
    ROGER MARTIN DU GARD
    0
  10. fadel
     
    Bonjour,
    la soustraction en hexadecimal ...comment ca marche?et le signe? merci
    0
  11. crazy
     
    Bonjour,
    je veu calculer cette operations FC0F+7E81 (HEXADECIMAL)
    0
  12. flopyx
     
    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 !
    0
  13. snake59850 Messages postés 235 Date d'inscription   Statut Membre Dernière intervention   13
     
    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
    0
  14. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    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/
    0