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 :

float trés petit en binaire


Sujet :

Langage Java

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 122
    Par défaut float trés petit en binaire
    Bonjour

    j'ai des nombres float très petit exemple :
    que je souhaite afficher en binaire (norme IEEE et si j'ai bien compris en utilisant cette norme il sera codé sur 30bits) voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int p= Float.floatToIntBits(fin[ii]); 
     
    				 String s=Integer.toBinaryString(p);
    				 char[] resu=s.toCharArray();
    				 System.out.print(resu);
    à l'affichage j'obtiens effectivement du binaire mais la taille n'est pas 30bits(IEEE) des fois c'est 25 des fois ces 26 .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    1101110100011101000000110
    111101101000011010000001100
    101001000100010001000100110
    11100001100000011000000010
    100011000000110000001100
    101000011100000111000001010
    Si vous pouvez m'éclairer merci beaucoup

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    ton problème doit venir de Integer.toBinaryString(), si tu regarde la doc :

    This value is converted to a string of ASCII digits in binary (base 2) with no extra leading 0s.
    a priori il devrait suffire d'ajouter des 0 à ta chaîne jusqu'à arriver à une longeur de 30. Il me semblait qu'il y avait une fonction dans String (pad() ?) pour faire ça mais je ne la retrouve pas. A la main ça donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    		float f = 1.05913985E-36f;
    		System.out.println(f);
     
    		int p= Float.floatToIntBits(f); 
    		 System.out.println(p);
     
    		 String s = Integer.toBinaryString(p);
    		 System.out.println(s.length());
    		 s = "0000" + s;
    		 System.out.println(s);
     
    		 int p2 = Integer.parseInt(s, 2);
     
    		 float f2 = Float.intBitsToFloat(p2);
    		 System.out.println(f2);

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

Discussions similaires

  1. Animation Flash de très petite taille
    Par Rodrigue dans le forum Flash
    Réponses: 7
    Dernier message: 20/04/2007, 15h01
  2. [Settings][03]Impression trés petits caractères
    Par mickool_kool dans le forum Outlook
    Réponses: 2
    Dernier message: 10/04/2007, 12h33
  3. [DOM] Petit, trés petit problème de DOM
    Par Clad3 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/12/2006, 21h56
  4. la polices est très petite
    Par hocine dans le forum Windows XP
    Réponses: 1
    Dernier message: 11/12/2006, 16h05
  5. Equivalent Cygwin mais très petit
    Par chris_wafer_2001 dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 22/11/2005, 10h03

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