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 :

Stocker les grands nombres


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Stocker les grands nombres
    Bonsoir,
    J'était en train de programmer un petit jeu en c++ (vraiment basique : un clicking game), mais je me suis vite rendu compte que un int ou long était trop petit pour stocker le score.

    J'ai cherché sur les forums, mais j'ai rien trouvé :/
    Avez vous une solution pour stocker un nombre avec beaucoup, beaucoup de chiffres (une centaine) ?

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    le nom, c'est Big Integer.
    Il s'agit de stocker une chaîne de caractères.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Je ne connais pas Big Integer. Il faut l'ajouter au projet ? Comment cela fonctionne ?

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    bonjour,

    Une centaine de chiffres pour stocker le score d'un petit jeu ?

    Perso, je réfléchirais plutôt à la raison de l'apparition ces nombres si élevés.

    Sinon, pour les grands nombres, il y a Big Integer pour Java, et GMP pour C.
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Points : 1 176
    Points
    1 176
    Par défaut
    Faudra m'expliquer le but d'avoir un score plus grand que le nombre d'atomes dans l'univers.

    Un "uint64_t" ou un "unsigned long long", ça permet de compter déjà jusqu'à 18.446.744.073.709.551.615

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Points : 1 176
    Points
    1 176
    Par défaut
    Après si tu veux faire un score style "clicker heroes" (https://www.clickerheroes.com/) je pense qu'il faut que t'utilises des astuces pour gérer ton score autre que "trouver un type de base qui contient tout".

    Donc soit tu bricoles un truc un peu faux mais qui fera semblant de marcher (à partir d'un certain score, on a plus vraiment de petites sommes, en gros on change d'ordre de grandeur régulièrement) soit oui dans ce cas faut une bibliothèques genre bigint si tu veux être mathématiquement juste.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Je vais utiliser un unsigned long long merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gérer les grands nombres
    Par dhay06 dans le forum Qt
    Réponses: 4
    Dernier message: 22/04/2009, 09h58
  2. Stocker des grands nombres
    Par TrexXx dans le forum Débuter
    Réponses: 28
    Dernier message: 31/12/2008, 02h34
  3. problème: stocker un grand nombre
    Par G0rk4 dans le forum Débuter
    Réponses: 35
    Dernier message: 25/11/2008, 16h35
  4. Réponses: 4
    Dernier message: 28/03/2008, 19h18
  5. Type PostgreSQL pour stocker des grands nombres
    Par K-Kaï dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/06/2006, 20h26

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