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

avec Java Discussion :

Conversion implicite byte, short -> float


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Conversion implicite byte, short -> float
    Bonjour, en regardant mon cours, j'ai une petite question a lequel je ne trouves pas de réponse clair concernant java sur le net.
    un int ne peut effectivement pas être converti implicitement en float.
    Cependant qu'est ce qu'il en est pour un short out byte en float ?
    Dans mon cours il mettent conversion implicite de byte en short et de short en int. int en float pas possible.
    Mais si on veut transformer un byte ou un short en float il passera d'abord par a conversion en int ? empêchant la conversion en float ?
    Car je ne pense pas que la conversion de byte ou de short en float entrainerait une perte de précision..

  2. #2
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    --> byte < short < int < long < float.

    On peut convertir implicitement byte, short, int, long en float.
    On peut convertir implicitement byte, short, int en long
    On peut convertir implicitement byte, short en int
    On peut convertir implicitement byte en short.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par b_sky Voir le message
    un int ne peut effectivement pas être converti implicitement en float.
    Si si, mais il y a en effet un risque de perte de précision, dans les grandes valeurs.
    Ce risque n'est pourtant pas sanctionné par le compilateur, et la conversion implicite se fait bel et bien.

    Cependant qu'est ce qu'il en est pour un short out byte en float ?
    Comme avec int. short et byte peuvent tous deux être convertis en float implicitement.

    Dans mon cours il mettent conversion implicite de byte en short et de short en int. int en float pas possible.
    La conversion implicite int => float est tout-à-fait possible, mais dans les grandes valeurs elle sera approchée, pas exacte.

    Mais si on veut transformer un byte ou un short en float il passera d'abord par a conversion en int ?
    J'avoue que j'en sais rien, mais de toute façon l'effet final sera le même.

    empêchant la conversion en float ?
    Non, puisque la conversion int => float est possible.

    Car je ne pense pas que la conversion de byte ou de short en float entrainerait une perte de précision..
    C'est exact. Pour les valeurs représentables avec byte et short, le problème ne se pose pas.
    Toutefois, le moindre calcul flottant peut potentiellement leur faire perdre en précision, ce qui fait qu'au final ça revient au même : quand on touche à des flottants, on renonce à l'exactitude et on ne s'intéresse qu'à l'approché (qui est tout de même pas mal précis.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    a noter que int -> double ne perd pas de précision, car la mantise d'un double est de 54 bits

Discussions similaires

  1. Conversion implicite int vers byte
    Par bzzzzz dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 19/08/2013, 08h21
  2. Conversion 4 bytes vers float
    Par morgan_2956 dans le forum C#
    Réponses: 3
    Dernier message: 10/03/2010, 09h33
  3. conversion de byte en short
    Par jlassiramzy dans le forum Langage
    Réponses: 17
    Dernier message: 18/08/2006, 20h19
  4. [jdbc][oracle] conversion implicite erronée
    Par Jack Huser dans le forum JDBC
    Réponses: 2
    Dernier message: 30/06/2005, 10h23
  5. [VB.NET] Conversion int-> bytes sur 4 octets
    Par SteelBox dans le forum Windows Forms
    Réponses: 11
    Dernier message: 09/01/2005, 22h08

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