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

Langage Java Discussion :

Pourquoi utiliser un Long ou un Double ?


Sujet :

Langage Java

  1. #1
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut Pourquoi utiliser un Long ou un Double ?
    Voila une petite question idiote que je me posais et voulant me coucher un peu moins idiot qu'hier soir, je vous la soumets

    Pourquoi dans nombre d'exemples de code que l'on peu trouver ici et la, sur le forum ou ailleurs, les Long et le double sont régulièrement utilisés (souvent plus même) qu'un Integer ou un Float.

    Bon d'accord on est pas à la chasse à l'octet de nos jours, mais je trouvais ca curieux alors quand dans 95% des cas, il n'y a null besoin de tant de précision, même un Integer c'est déjà trop ...
    C'est la folie des grandeurs qui contamine nous autres développeurs ?
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    En faite les double sont souvent utilisé car souvent manipulé en java standard et pour manipuler des grands chiffre. Par exemple pour la date, java recupere le nombre de milliseconde depuis le 1er janvier 1970 si mes souvenirs sont bon, donc un double est plus appropriés.
    Pour les clés de cryptage aussi la precision est mieux, bref pas mal d'exemple, tout dépend ce que l'on programme...

    C'est sur qu'un developpeur qui veut faire 3 + 3 => un int est largement suffisant!

    Long/Double ou long/double . Ta question est plutot orienté sur les object ou les differents type?
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  3. #3
    Membre habitué Avatar de nicgando
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 128
    Points : 163
    Points
    163
    Par défaut
    C'est que le double est légion, j'utilise un peu moins le long.

    Mais comme tu dis
    on est pas à la chasse à l'octet
    donc comme qui peu le plus, peu le moins, en avant les doubles

    D'ailleurs je suis déjà tombé dans un cas où j'utilisais des float et un jour il a fallut faire des ajustements et là via les multiplications/divisions la précision n'était plus bonne : un peu vert de faire du float -> double dans la signature des méthodes etc ...
    Pushing the limits ...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    Citation Envoyé par maxf1
    Par exemple pour la date, java recupere le nombre de milliseconde depuis le 1er janvier 1970 si mes souvenirs sont bon, donc un double est plus appropriés.
    En fait, c'est un long qui est utilisé (cf aussi System.currentTimeMillis()), tout simplement parce le nombre de millisecondes depuis le 1er janvier 1970 depasse la valeur max d'un int.
    long est utilisé dans ce genre cas, sinon, int est quand meme le type le plus fréquent.

    Les doubles sont effectivement utilisés plus frequemment pour améliorer la précision des calculs.

  5. #5
    Membre éprouvé
    Avatar de n!co
    Profil pro
    Inscrit en
    Février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 831
    Points : 936
    Points
    936
    Par défaut
    Citation Envoyé par nicgando
    C'est que le double est légion, j'utilise un peu moins le long.

    Mais comme tu dis donc comme qui peu le plus, peu le moins, en avant les doubles

    D'ailleurs je suis déjà tombé dans un cas où j'utilisais des float et un jour il a fallut faire des ajustements et là via les multiplications/divisions la précision n'était plus bonne : un peu vert de faire du float -> double dans la signature des méthodes etc ...
    C'est clair qu'il vaut mieux voir trop grand que pas assez, vu l'impact de la différence sur nos petits programmes (je parle de généralité biensur).

    La question est purement existancielle, je trouvais sympa d'avoir l'avis de chacun sur le sujet
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  6. #6
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Enfin une difference importante, c est que le long n'a pas de partie decimale !

  7. #7
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Souvent entre long et int, c'est int qui est utilisé qd mm, long c'est quand c'est vraiment long o_O

    Par contre c'est vrai que double est plus utilisé, car float n'a que 7 chiffres significatifs en base 10, mais le pire c'est les erreurs d'absorption ou autre, lors d'additions, qui peuvent très rapidement te donner un nombre précis à 1 ou 2 chiffres après la virgule sur certains calculs...

  8. #8
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    un exemple : pourquoi utiliser "long" plutot que "int" lors de la gestion de la mémoire :
    parqu'un "int" fait 32 bits soit une valeur maximale de 4 milliards environs ( à cela, tu retires un bit et donc divise par deux ), cela fait 2 milliards.
    Dans tout ce qui concerne les adressages mémoire ( virtuelle ou physique ), ajourd'hui, il est indispensable de pouvoir gérer ça, en effet, 2 milliards et quelques équivalent à 2 giga octets. Certe, pour le grand public, il y a encore 10 ans, des fichiers de cette taille là étaient très rares, encore plus pour la RAM.
    Aujourd'hui, pour le grand public, des fichiers de telle taille ne sont pas marginaux, ya qu'à voir la taille des fichiers vidéo.
    Pour les logiciels professionnels, maintenant, faut savoir qu'il existe des machines avec autre chose que windows comme OS qui peuvent avoir 128 GO de RAM ( j'en administre une d'ailleur entre parenthèse ), donc le long est indispensable dans ce cas.

Discussions similaires

  1. Plantage avec utilisation de long double
    Par thebop dans le forum Débuter
    Réponses: 9
    Dernier message: 17/06/2009, 11h39
  2. Pourquoi utiliser XML?
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 23
    Dernier message: 12/09/2008, 16h33
  3. utilisation de long double
    Par reptils dans le forum C
    Réponses: 16
    Dernier message: 16/05/2006, 16h51
  4. [D7] pourquoi utiliser un DBGrid ?
    Par raoulmania dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/11/2005, 14h37
  5. Pourquoi utiliser std::less lorsque l'on réclame '<
    Par YéTeeh dans le forum SL & STL
    Réponses: 2
    Dernier message: 09/05/2005, 21h39

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