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

SL & STL C++ Discussion :

Transformer 4 unsigned char en 1 double


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Par défaut Transformer 4 unsigned char en 1 double
    Bonjour a tous,
    j'ai un programme dans lequel je récupère des octets dans un vector de unsigned char (la taille du vector est 1,2,3 ou 4) et j'aimerais bien si possible transformer ce vector en un double, cela est-il possible? j'ai essayé diverses manières, mais je n'ai pas trouvé!
    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Transformez le vector en double? ou transformez tes char en double?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Par défaut
    euh transformé les char en double, mais le problème, c'est que chaque char est une "partie" du double,c'est a dire que j'ai récupéré la variable octet par octet et je voudrais la re-transformer en double!

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 85
    Par défaut
    On avait eu exactement le même problème dans ce topic http://www.developpez.net/forums/d65...-vers-decimal/.

    Regardes mon dernier poste, il y a un code qui permet de faire ce que tu veux à quelques adaptations prêt.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 85
    Par défaut
    D'autre part l'encodage IEEE 754, définit les doubles sur 32, 64 ou 80 bits (soit 4, 8 ou 10 octets) donc ton vector ne devrait pas faire 1, 2 ou 3 octets comme tu le dis mais seulement 4, 8 ou 10 octets.

    Enfin, sur un PC, les "double" sont codés sur 8 octets et les "float" sur 4, donc je pense que tu cherches plutôt un "float" (si tu utilises ma fonction, penses à remplacer les "double" en "float"), mais peut-être utilises-tu une machine différente.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Par défaut
    salut, en fait je vais essayer d'adapter ton code, merci!
    En fait déjà je suis sur mac, et ce que j'essaye de faire c'est :
    A partir d'un fichier wav, je récupère le signal sous forme de valeurs les unes a la suite des autres, mais chaque valeur est codée sur (cela dépend des fichiers wav) 1,2,3 ou 4 octets, et donc j'ai récupéré chaque valeur dans un tableau de unsigned char et après, il faut que suivant que ça soit sur 1,2,3 ou 4 octets, je transforment ces 1-4 valeurs en une seule, la vraie valeur du signal (j'avais choisi en double, car cela pourrait aller pour le plus grand nombre d'octets!).
    Je ne sais pas si je suis très clair, mais merci de tes réponses!

Discussions similaires

  1. Transformer unsigned char [5] en std::string
    Par alex2746 dans le forum C++
    Réponses: 11
    Dernier message: 13/03/2012, 15h43
  2. Obtenir un double à partir d'un unsigned char
    Par vdumont dans le forum C++
    Réponses: 2
    Dernier message: 05/05/2006, 16h43
  3. Réponses: 19
    Dernier message: 28/04/2005, 15h36
  4. char et unsigned char
    Par jobherzt dans le forum C++
    Réponses: 8
    Dernier message: 11/02/2005, 00h24
  5. Transformer un champ CHAR en décimal
    Par ALLB dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 19/07/2004, 13h59

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