begin process at 2012 05 28 23:14:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

convertir 4 octets au format IEE 754


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

convertir 4 octets au format IEE 754

mardi 2 mars 2004 à 09:16:55 | convertir 4 octets au format IEE 754

mouss8


existe t-il une fonction qui convertit 4 octets (32 bits) en un float dans la norme IEE 754?
mardi 2 mars 2004 à 09:35:22 | Re : convertir 4 octets au format IEE 754

BruNews

Administrateur CodeS-SourceS
float f = (float) mylng;
Ne te va pas ?

ciao...
BruNews, Admin CS, MVP Visual C++
mardi 2 mars 2004 à 11:29:00 | Re : convertir 4 octets au format IEE 754

mouss8


non ça ne va pas du tout

je vais expliquer plus clairement mon problème:

Je viens de récupérer sur le port série une trame provenant d'un appareil (un analyseur d'Ozone)
Dans cette trame, 4 octets m'intéressent et qui correspondent à la mesure d'ozone.

par exemple: 0x41242331 qui correspond à 10.2 ppb ( concentration d'ozone dans l'air)

mais quand je fais printf("\n mesure:%f \n",(float)0x41242331);, je n'obtiens pas du tout 10.2
mardi 2 mars 2004 à 13:30:47 | Re : convertir 4 octets au format IEE 754

garslouche

Essaie ça :
Union ozone
{
float f;
int n;
}

ozone.n = 0x41242331;

printf("%f", ozone.f);


On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mardi 2 mars 2004 à 13:32:41 | Re : convertir 4 octets au format IEE 754

garslouche

Euh...

Union Ozone
{
float f;
int n;
}

Ozone ozone;

ozone.n = 0x41242331;

printf("%f", ozone.f);

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mardi 2 mars 2004 à 14:35:26 | Re : convertir 4 octets au format IEE 754

mouss8




cool au moins ça marche!

j'ai comprit l'union permet au deux variables d'utiliser le même espace mémoire.

ça m'a inspirer alors j'ai fait ça:

float a;
unsigned long int *b;
b=&a;

*b=0x41242331;
printf("\n mesure:%f \n",a); cool j'obtiens aussi 10.2....

Par contre j'ai 3 soucis:
1) b=&a; provoque un warning car les 2 types ne sont pas compactibles ( comment le caster?)

2) pourquoi peut on lire printf(" 0x%.8x ",*b) la valeur hexa de b ( b étant un entier)
mais pas pouvoir lire printf(" 0x%.8x",a); a étant un float;

j'ai essayé printf(" 0x%.8x",3.14); je n'arrive pas a voir la valeur hexa de 3.14

c'est peut être bete mais je voudrait bien comprendre pourquoi!

3) et dernière interrogation:
Pourquoi je n'obtiens donc pas 10.2.... avec le code en dessous? ( comme a voulu m'aider BruNews)
float c;
c=0x41242331;
printf("%f",c);
jeudi 9 février 2006 à 17:26:22 | Re : convertir 4 octets au format IEE 754

gwenCPP

Bonjour,

Voila une solution qui marche et qui ne fais hurler le compilateur ; de plus c'est plus propre que l'union


unsigned char floatinbyte[sizeof(float)];  // ou char ca marche aussi
float f;

//Copie d'une zone mémoire vers une autre ; 4 <=> sizeof(float)
memcpy(&f, floatinbyte,
sizeof(4));



Gwen






Cette discussion est classée dans : format, convertir, octets, iee


Répondre à ce message

Sujets en rapport avec ce message

convertir dbf en txt [ par grezouille ] voila quand j'enregistre un fichier au format .dbf en un fichier au format .txt (en utilisant CreatFile,ReadFile et WriteFile), dans le fichier texte convertir format mac to dos [ par deutant ] en compilant un fichier c++ que j ai récupére du net, l erreur suivante est apparue:error C4335: Format de fichier Mac détecté : convertissez le fichi Description format MP3 [ par drefou ] Bonjour,Après un bon moment à chercher sur le net des infos sur ce format, je craque !J'ai bien trouvé le site "http://www.mp3-tech.org/", qui expliqu Convertir WMA , MP3 au format WAVE [ par sivaller ] Bonjour,Je cherche un code source convertissant des fichiers WMA, mp3 au format WAVE.Rien trouver sur ce site.Merci bcpvous pouvez me contacter à NOSP convertir fichiers textes au format unix [ par nitho ] Salut tout le monde !!!!! dites j'ai un petit souci, j'aimerais convertir plusieurs fichiers du format dos au format unix à partir de la console. Je Mettre des octets d'un fichier dans un string [ par ddraper ] Bonjour à tous ! Malgrès mes recherches, je suis toujours bloqué. En fait, je ne sais pas comment mettre les octets d'un fichier quelconque dans un convertir un unit8_t en chaîne de caractère [ par souhill ] voila je récupére un paquet avec Socket sur ns3 en c++ unit8_t buf[packet->getsize] packet->copyData(buf,packet->getsize) je veux bien récupéré la c [C++ vers Bar]création d'une image de synthèse au format .df3 sous Povray à partir d'un fichier .inc ou .tab [ par alex2229 ] je voulais savoir si par hasard quelqu'un avait déjà réaliser ce genre de programme pour Povray. Cordialement, alex


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales