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 :

Fonction de décalage de bits et extraction de valeur


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut Fonction de décalage de bits et extraction de valeur
    Bonjour

    J'ai cette fonction écrite en C++ .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    WORD WordSwap(WORD *pValue)
    {
    	WORD value = *pValue;
     
    	BYTE temp1 = (value & 0x00FF);
    	BYTE temp2 = (value & 0xFF00) >> 8;
     
    	value = (temp1 << 8) | temp2;
     
    	return (*pValue = value);
    }
    Et j'aimerai faire la même chose en C#, cependant j'arrive pas a comprendre ce qu'elle fait exactement.

    Si quelqu'un peut expliquer un peu ses lignes de codes ou si il est motivé me la "traduire" en C#

    Merci de votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    cette fonction fait une conversion de la valeur du mot (WORD).
    Pour inverser le LSB et le MSB, souvent utilisé lors de conversion de little endian en big endian.

  3. #3
    Membre régulier Avatar de GrosLapin
    Homme Profil pro
    Ingénieur et Etudiant
    Inscrit en
    Avril 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur et Etudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 47
    Points : 85
    Points
    85
    Par défaut
    Qu'est ce que tu ne comprends pas précisément ?

    L'écriture en exa ? ( http://en.wikipedia.org/wiki/Hexadecimal )
    Les opérateurs ? http://emmanuel-delahaye.developpez....urs-bit-bit-c/

    Ta fonction fait ce qu'elle dit "WordSwap" :p

    elle échange le 1er octet du ton WORD avec le 2em.

  4. #4
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    Mon soucis c'est qu'en C# je n'ai pas de DWORD et pas la "notion de pointeur" et j'ai un peu de mal avec les operateurs de decalage

  5. #5
    Membre régulier Avatar de GrosLapin
    Homme Profil pro
    Ingénieur et Etudiant
    Inscrit en
    Avril 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur et Etudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 47
    Points : 85
    Points
    85
    Par défaut
    Je connais pas assez le C# pour t'aider, et je pense que tu trouveras plus de gens dans le forum C# :p

Discussions similaires

  1. Décalage de bits
    Par Kraz dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 21/10/2006, 18h09
  2. décalages de bits
    Par seb95 dans le forum Java ME
    Réponses: 4
    Dernier message: 05/03/2006, 04h03
  3. décalage de bits
    Par cedre22 dans le forum Langage
    Réponses: 13
    Dernier message: 17/01/2006, 09h33
  4. Multiplication par décalage de bits
    Par tekman54000 dans le forum Assembleur
    Réponses: 2
    Dernier message: 25/10/2005, 11h35
  5. Décalage de bit sur unsigned char [8]
    Par dboulange dans le forum C++
    Réponses: 14
    Dernier message: 26/07/2005, 14h10

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