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

C Discussion :

Conversion des PCM


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 22
    Par défaut Conversion des PCM
    Salut,

    J'ai des échantillons de PCM de type short, j'aimerai les convertir en unsigned short sans utiliser un cast.

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Je ne connais pas le type pcm, mais si le format est bon, je pense que copier bit à bit peut résoudre le problème.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 22
    Par défaut
    Citation Envoyé par je®ome Voir le message
    Je ne connais pas le type pcm, mais si le format est bon, je pense que copier bit à bit peut résoudre le problème.
    C'est juste des nombres de type short.
    Comment on fait pour copier bit à bit?

  4. #4
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Il existe différentes méthodes, en voici une:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    /**
     * Rend le n-ieme bit du nombre "nombre".
     * On commence avec le bit 1 pour les unites et on
     * finit avec le bit 8 pour 128, etc.
     */
    char NiemeBit(int nombre, int n)
    {
      return((nombre & (1<<(n-1)))>>(n-1));
    }
     
    /**
     * Change le n-ieme bit pour le mettre a value
     */
    void SetNiemeBitCC(short *nombre, int n, int value)
    {
      if(value)
        {
          *nombre = *nombre | (1<<(n-1));
        }
      else
        {
          *nombre = *nombre & (~(1<<(n-1)));
        }
    }
    Voilà une fonction pour récuperer le n-ième bit et une autre pour fixer le n-ième bit. Suffit de boucler pour les copier tous.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/03/2006, 16h46
  2. Conversion des heures en minutes
    Par lacrevette dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/02/2005, 17h50
  3. Conversion et re-conversion des caractères reservé à MySQL
    Par Didier100 dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/06/2004, 14h23
  4. [MSXML] Comment empécher la conversion des entités ?
    Par nima dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/11/2002, 14h14

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