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 :

récupérer valeur d'un double dans 2 float


Sujet :

Java

  1. #21
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par psycho_xn Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int x = 2147483646;
     
            short w1 = (short)(x & 0xFFFF);
            short w2 = (short)(x >> 16);
    ??? je me trompe surement car il n'y a rien eu de changé dans mon résultat
    Ben je vois pas ou est le problème avec ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class TestBits {
     
    	public static void main(String[] argv){
    		int x = 0xAABBCCDD;
     
            short w1 = (short)(x & 0xFFFF);
            short w2 = (short)(x >> 16);
     
            System.out.printf("%X %X\n", w2,w1);
    	}
    }
    Ca me sort bien AABB CCDD comme résultat.

  2. #22
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Ben je vois pas ou est le problème avec ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class TestBits {
     
    	public static void main(String[] argv){
    		int x = 0xAABBCCDD;
     
            short w1 = (short)(x & 0xFFFF);
            short w2 = (short)(x >> 16);
     
            System.out.printf("%X %X\n", w2,w1);
    	}
    }
    Ca me sort bien AABB CCDD comme résultat.
    en fait avec un affichage en "%X" ceci donne le bon résultat, par contre avec "%d" ça donne un résultat erroné pour le short w1 = (short)(x); je compare le résultat par rapport au résultat du même code en C++

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int xx = 2147483646;
     
            short wx1 = (short)(xx);
            short wx2 = (short)(xx >> 16);
     
            System.out.printf("%d %d %d \n", xx, wx1,wx2);
            System.out.printf("%x %x %x \n", xx, wx1,wx2);
    donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    2147483646 -2 32767 
    7ffffffe fffe 7fff
    alors que le résultat attendu est

  3. #23
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut
    enfin g trouvé je dois utiliser w1&0xFFFF

    Merci bcp pour votre précieuse aide

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par psycho_xn Voir le message
    donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    2147483646 -2 32767 
    7ffffffe fffe 7fff
    alors que le résultat attendu est
    Les short java sont signés, alors qu'en C++ ils ne le sont pas.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. récupérer valeur "alert" pour utilisation dans un script php
    Par mauyebo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2008, 18h22
  2. récupérer valeur champ libre formulaire dans un état
    Par stagolee dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/01/2008, 14h18
  3. Réponses: 10
    Dernier message: 20/06/2007, 19h02
  4. [c#]récupérer valeur d'un TextBox dans un Repeater
    Par Filippo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/03/2007, 11h48
  5. [MySQL] récupérer valeur d'une variable dans une autre table
    Par Tee shot dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/03/2007, 23h07

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