begin process at 2010 02 09 18:06:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

Conversion char* en float, et float en char*


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

Conversion char* en float, et float en char*

vendredi 16 juin 2006 à 10:29:45 | Conversion char* en float, et float en char*

MrAzerty

Mon problème est simple, je souhaie pouvoir convertir une chaine de caractères contenant un réel ("78.46", par exemple),
à la norme IEEE 754 (comme les float) , et cela sans utiliser de float, ni de "%f", ni rien qui touche de près ou de loin au type float.
La valeur devra donc ensuite être mémorisée sur 32bits, dans un unsigned long par exemple.
Merci par avance pour votre aide...

vendredi 16 juin 2006 à 11:04:23 | Re : Conversion char* en float, et float en char*

ymca2003

Pourquoi tu veux pas te servir  float ? c'est pourtant plus simple :

#include <math.h>
char s[] = "78.46";
float val = (float)atof(s);

pour récuprer les 32 bits du format IEEE :
unsigned long ieee = *((long*)&val);

Si tu veux recoder atof, tu peux mais sans utiliser le type float c'est un brin compliqué

vendredi 16 juin 2006 à 18:18:15 | Re : Conversion char* en float, et float en char*

MrAzerty

En fait mon code ne sera pas compilé pour un pc mais pour un calculateur 16 bits (sc12). Le types float est mal géré par ce dernier, je me suis rendu compte que de nombreux dépassements mémoires aparaissaient, dus à cette mauvaise gestion... En rendant une visite sur le site web du constructeur (et en cherchant quelques heures), je me suis aperçu qu'il existaient une solution, mais non apliquable au C++ pour des raisons trop longues à expliquer (pointeurs sur des fonctions C,etc).
Or, les données doivent impérativement être stockées au format IEEE 754, car le programme comunique en liaison série avec un esclave Modbus, utilisant cette norme.

Donc, je résume:
-Impossiblilité d'utiliser le type float, ni les "atof()" sous peine de dépassement mémoire et donc de plantage aléatoire
-Nécéssité de stocker quand même les données au format IEEE 754

J'ai éssayé de faire un algorithme à partir d'explications, comme celles-ci .
Cela me parait extrêmement compliqué, dans mon cas...

J'ai tout de même réussi à compiler une version stable, utilisant les floats. Ce projet sera présenté à un jury dans le cadre de mon bts très prochainement, je pense que je vais m'en tenir à cette version.





samedi 17 juin 2006 à 12:13:14 | Re : Conversion char* en float, et float en char*

deck_bsd

Membre Club
utilise ssprintf ou sscanf si libc standart,  ou wsprintf  si win32.
samedi 17 juin 2006 à 12:13:33 | Re : Conversion char* en float, et float en char*

deck_bsd

Membre Club
sprintf pardon .


Cette discussion est classée dans : conversion, exemple, char, float


Répondre à ce message

Sujets en rapport avec ce message

Conversion de donnée [ par Johjo ] Salut tout le monde, je cherche à convertir une valeur char en valeur float et inversement de float en char. L'equivalent de Val et Str en basic.Merci conversion float en char [ par laurent180 ] Bonjour a tous,J'aimerai savoir en c ou c++ comment convertir un float en char? quel sont les fonctions ou un exemple?merci a vous.s Conversion de unsigned char en float (17.6E) [ par lemenager ] Bonjour,Je dois lire un fichier binaire dans lequel il y a des float en format (17.6E). J'ai l'impression que je suis oblige de les lires en unsigned conversion char to float et inversement [ par izle ] IzLe,je souhaite convertir des "float" en char afin de les afficher dans une bare d'état, existe-t-il une fonction qui fait ça? Conversion type float to char [ par Ricool ] Salut a tousvoila j'ai un probleme de conversion de typej'ai un prog avec client - serveur, le client envoi des chiffre au serveur, celui ci calcul un conversion cstring en char [ par champista ] Bonsoir,j'ai une petite question assez urgente. Je programme et j'ai un pb au niveau des conversion de type : cstring en char.Pouvez vous me dire comm pb de conversion float => integer [ par Ricool ] SalutVoila j'ai un probleme pr convertir un float en integeret je ne vois pas trop comment faire vu ke c possible en bit à bit comme le fait le langag Distinguer un float et un char dans une EditBox sous Visual 6.0 [ par threepwood ] Bonjour,je suis en train de développer une application SDI dans laquelle je fais appel à une boite de dialogue où sont présents différentes EditBox.Le conversion [ par moloko2000 ] y a t'il un moyen de convertir un char[25] en un char* (un moyen d'obliger le compilateur à accepter ce genre de conversion) conversion(bis) [ par moloko2000 ] je reformule ma question différement y a t'il un moyen de forcer la conversion entre un char[20](par exemple) et un char *.


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 1,076 sec (4)

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