Conversion float-binaire

misterbool Messages postés 1 Statut Membre -  
maryem281 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,j'aimerai avoir de l' aide pour convertir un float en binaire en langage C.Existe-t-il une fonction ki permet de le faire dirctement.
Configuration: Windows XP
Firefox 2.0.0.4

2 réponses

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Salut,

    Je pense qu'il veut afficher les 0 et 1 qui composent un float.
    J'ai une fonction qui fait ça pour les float 32 bits, j'en avait besoin ya quelques temps, autant en faire profiter.

    /* Pour afficher en binaire la valeur de nom "name" ayant pour valeur "value" constituée de "taille" bits en partant des bits de poids faible */
    
    void dump_bin(const char* name, unsigned int value, int taille)
    {
    	int i;
    	printf("%s: ", name);
    	for(i = taille-1; i>=0; i--)
    	{
    		printf("%d", (value >> i) & 1);
    	}
    	printf("\n");
    }
    
    void float2bin(float f)
    {
    	unsigned int i, mantisse, signe, exposant;
    
    	//On récupère f dans un entier sans le convertir en entier
    	i = *(int *) &f;
    	//Le signe est le bit de poids fort
    	signe = i >> 31;
            //L'exposant c'est les huit bits suivants de poids fort
    	exposant = (i >> 23) & 0xff;
            //Les 23 bits restants c'est la mantisse
    	mantisse = i & 0x007fffff;
    	
    	dump_bin("signe", signe, 1);
    	dump_bin("mantisse", mantisse, 23);
    	dump_bin("exposant", exposant, 8);
    }

    Exemple:
    int main()
    {
    	float f=1.0;
    	float2bin(f);
    	return 0;
    }

    Affichera:
    signe: 0
    mantisse: 00000000000000000000000
    exposant: 01111111
    11
    1. maryem281 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
       
      bonjour ,
      je récupére toujous 0 dans i : //On récupère f dans un entier sans le convertir en entier
      i = *(int *) &f;
      Du coup j'arrive pas à calcuuler signer, mantisse et exposant d'un float
      t'as une idée sur un tel probleme ? et comment le résoudre ?
      MERCI
      0
  2. le père
     
    Bonjour

    Qu'entends-tu par convertir un float en binaire ? Un float, c'est du binaire.
    -2