Type de variable pour manipuler des nombres

Bonjour à  tous,


 


Je me pose une petite question. Je souhaite créer une app pour manipuler des nombres très divers : des nombres petits, des nombres très grands, des nombres précis, bref, une très grande variété de nombres. Mais quel type de variable utiliser ?


Ma première idée serait Float. Float permet de manipuler des nombres très grands. c'est assez flexible puisqu'on peut choisir le nombre de décimales à  afficher. Mais il me semble qu'avec le Float, on se retrouve vite avec des imprécisions lors de calculs un peu complexes.


 


Donc je me pose la question : quel serait le meilleur type de variable à  utiliser si je veux créer une app pour manipuler des nombres divers. Auriez vous une réponse à  cela ?


 


Merci d'avance :)


Réponses

  • MalaMala Membre, Modérateur

    Le type float est encodé sur 32 bits. Pour plus de précision, on utilise le type double qui lui est encodé sur 64 bits.


  • Pour les mathématiques, on a besoin parfois de faire des calculs exacts sur des entiers très très longs. Dans ce cas, les types usuels ne sont pas suffisants. Il existe des librairies C qui font ça. Ce n'est pas un sujet que je connais particulièrement bien mais je sais que les logiciels de math (genre Maple) utilisent ce genre de librairies.


     


    Voilà  deux librairies qui font ça :


    http://www.mpfr.org


    https://gmplib.org


     


    Après, avant de te lancer dans l'intégration de ces librairies, réfléchis bien à  ton besoin et applique YAGNI.


     


    Tiens-nous au courant !


  • CéroceCéroce Membre, Modérateur
    août 2015 modifié #4
    Il y a aussi NSDecimalNumber, qui a le même rôle que les bibliothèques sus-citées.
  • Plus de précision dans les calculs : NSDecimalNumber ou NSDecimal


    Plus de perfomances : double.


  • Merci pour vos retour. Je ne pense pas utiliser de library externes, mais plutôt m'orienter soit vers du Double soit vers du NSDecimalNumber. Mais je penche plutôt vers NSDecimalNumber qui a l'air d'avoir pas mal de capacités qui m'intéressent et je n'ai pas réellement besoin de performances.


     


    En tout cas merci de m'avoir conseillé je ne connaissais absolument pas NSDecimalNumber.


Connectez-vous ou Inscrivez-vous pour répondre.