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 :

conversion de byte en short


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut conversion de byte en short
    salut,

    j'ai un tableau de byte et j'aimerai convertir les valeurs en entier de la façon suivante ;
    - toute valeur negative doit se convertir en son complement ( > 128) , etant donné que les valeurs du byte varienet de -127 a 128 , j'aimerai que mes valeur soient entre 0 et 255 , donc je garde les valeurs positives telles qu'elles est et les valeurs negatives je les convertis en des valeurs superieuerss a 128 ..exemple la valeur - 10 devient 138

    merci

  2. #2
    Membre éprouvé Avatar de BoudBoulMan
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 100

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Par défaut
    mon type initial est byte et non pas Byte !!

  4. #4
    Membre éprouvé Avatar de BoudBoulMan
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 100
    Par défaut
    Citation Envoyé par Sun
    The Byte class wraps a value of primitive type byte in an object. An object of type Byte contains a single field whose type is byte.
    Ce genre de classe (wrapper) est utilisé pour permettre de faire des actions plus poussées sur les types primitifs. Il existe un wrapper pour chaque type primitif (int -> Integer, double -> Double, etc...)

    donc, pour ta conversion, la classe Byte offre la méthode shortValue().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    byte maByte = 1;
    short monShort = (new Byte(maByte)).shortValue();
    (désolé du jeu de mot (vulgaire) avec ma byte et mon short )

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 194
    Par défaut
    Ce qui est certain, c'est que tu ne pourras pas "convertir" ton tableau de byte. Il faut donc que créé le tableau de short et que tu y écrive les valeurs corrigées. La partie intéressante est celle qui calcule le nombre positif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    byte by = (byte)-10;
    short sh = (short)(~by + 1);
    C'est normalement ce code que tu devrais adopter car je crois me rappeler que c'est l'opération inverse qui est effectuée par la jvm lors d'un opération de sous-casting comme (byte)138.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 194
    Par défaut
    Mon code ne fais pas ce que je veux

    Je n'arrive pas à obtenir le résultat en base 2, alors voici une solution en base 10 (en considérant un byte noté by) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    short sh = (short)( by + (Byte.MAX_VALUE+1) * 2 );

Discussions similaires

  1. Conversion implicite byte, short -> float
    Par b_sky dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 14/01/2011, 23h11
  2. Conversion Integer -> byte[]
    Par La Truffe dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2006, 18h30
  3. [MFC] pb de conversion CString en unsigned short
    Par kanabzh29 dans le forum MFC
    Réponses: 5
    Dernier message: 04/05/2006, 10h29
  4. Conversion Enum <-> byte
    Par Don ViP dans le forum Langage
    Réponses: 5
    Dernier message: 03/05/2006, 14h51
  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