IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Conversion d'entier en base 2^32 vers base 10


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 13
    Points : 14
    Points
    14
    Par défaut Conversion d'entier en base 2^32 vers base 10
    Bonjour !
    Je chercher je cherche, mais je ne trouve pas d'idée.
    Dans le cadre de l'implémentation d'une classe de grands entiers, je souhaite pouvoir convertir un nombre exprimé en base 2^32 vers la base 10 (pour l'affichage). Cependant je ne sais pas comment procéder. Etant donné la taille des nombres les méthodes habituelles de conversion de bases ne peuvent être utilisées.

    J'ai pensé convertir mes termes a*(2^32)^k séparément selon les indices k et ensuite additionner les résultats.
    J'ai commencé ma conversion par le calcul de (a*(2^32)^k)%10 = ((a%10)*(2^32%10)^k)%10
    Cependant, après ce premier calcul je ne vois pas comment manipuler ce qui reste lorsque k est relativement grand...

    Si vous avez des idées elles sont les bienvenues !

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 951
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 951
    Points : 5 671
    Points
    5 671
    Par défaut
    Gea,

    Ta classe doit avoir une fonction de division par une constante.

    Tu t'en sers, exactement comme tu ferais avec un entier habituel, c'est à dire divisions successives par 10, jusqu'à reste = 0

    Si ta fonction est bien écrite, ça doit aller vite, et de toute manière, la partie affichage pour ce genre de classe n'est utilisée qu' épisodiquement.

  3. #3
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    Bien, si tu as implémenté une classe de grands entiers, tu as dû prévoir les opérations de division et de modulo (etc...) sur ces grands entiers je suppose. Tu peux donc créer un grand entier valant 10 puis utiliser la technique habituelle pour récupérer un à un les chiffres en base 10 qui le composent. Tu récupères chacun de ces chiffres dans un grand entier, et il ne te reste qu'à convertir ces grands entiers (compris entre 0 et 9) en int.

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Ca m'a l'air d'une bonne méthode en effet. Je le voyais plus comme un travail sur les 'chiffres' du nombre en base 2^32 sans travailler sur le nombre en lui-même.
    Je vais tester ça !

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Profites de ta fonction pour rajouter un "radix" dans ton algo... Ca t'évitera d'avoir à coder la fonction ToHexadecimal()

Discussions similaires

  1. Service Liaison base foxpro.dbf vers Base SQL (Updates) VS 2013
    Par vbovbo dans le forum Accès aux données
    Réponses: 0
    Dernier message: 05/02/2015, 10h17
  2. Recopie base de production vers base de test
    Par consuling dans le forum Import/Export
    Réponses: 5
    Dernier message: 24/04/2008, 09h46
  3. Réplication données depuis Base SQL Server vers Base MYSQL
    Par elspliffo dans le forum Réplications
    Réponses: 2
    Dernier message: 27/09/2007, 15h02
  4. Réplication données depuis Base SQL Server vers Base MYSQL
    Par elspliffo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/09/2007, 15h02
  5. [Débutant] Conversion de base 10 vers base 16
    Par beegees dans le forum Assembleur
    Réponses: 7
    Dernier message: 30/10/2006, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo