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

Java Discussion :

Conversion de byte en int >255


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par défaut Conversion de byte en int >255
    Bonjour,
    Pour convertir un int qui dépasse 255 en byte, il suffit de faire un cast.
    exp :

    int i = 10587;
    byte b = (byte) i;

    b aura la valeur "91".

    Comment obtenir le "10587" à partir de "91" ?

    Merci

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Lorsque tu castes un int en byte, tu perds les bits de poids fort (puisque tu ne gardes que les 8 bits de poids faible). Et comme tout ce qui est perdu, c'est... perdu.
    Dit autrement, ce n'est pas possible de retrouver ton 10587 à partir de 91.
    Explique nous ce que tu veux faire, il y a peut etre un autre moyen...

  3. #3
    Membre très actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2011
    Messages : 181
    Billets dans le blog
    1
    Par défaut
    Slt
    Tu pourrais le convertir en un tableau de byte http://www.dzone.com/snippets/convert-int-byte-array, ça peut être utiliser pour la sauvegarde dans un fichier par exemple, sinon, c'est clair qu'il y aura une perte de données. Le byte est codé sur 8 bit (1 octet), donc 2^8 = 256, peut varier de -128 jusqu'à 127.
    Tant dit que int est codé sur 32 bit (4 octet), peut varier-231≈-2,147×109 jusqu'à +231-1≈2,147×109.
    En résument, on ne peut représenter 4 octets en 1 octets, le transtipage ne fait que prendre un octet, et ignorer les autres.
    Bon courage

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

Discussions similaires

  1. [Debutant] conversion de char en int
    Par Marc_3 dans le forum Langage
    Réponses: 9
    Dernier message: 31/08/2011, 12h02
  2. Conversion byte en int et vis versa
    Par Mister Nono dans le forum Langage
    Réponses: 8
    Dernier message: 17/07/2008, 17h50
  3. conversion Byte[] vers int
    Par skud dans le forum C#
    Réponses: 5
    Dernier message: 17/05/2007, 12h14
  4. Conversion Enum <-> byte
    Par Don ViP dans le forum Langage
    Réponses: 5
    Dernier message: 03/05/2006, 14h51
  5. [C++] Conversion de String en int
    Par poporiding dans le forum Framework .NET
    Réponses: 2
    Dernier message: 02/01/2006, 16h43

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