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

MATLAB Discussion :

Traduction C vers MATLAB - décalage


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2012
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 95
    Par défaut Traduction C vers MATLAB - décalage
    BONJOUR,

    je veux traduire ce code en matlab( surtout la fonction décalage , j'ai pas pu la traduire en matlab dans ce cas)

    est ce que vous pouvez m'aider?

    Code C : 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
    unsigned __int8 Bit_rotate(unsigned __int8 data, int nBits){
    unsigned __int8 shiftedData,lostData,rotatedData,result;
    int dataBits = 8;
    int q;
    q = nBits % dataBits;
      if ( q == 0) {
      return(data);}
      else if (q<0){
      shiftedData = data >> -q;
      lostData = data ^ (shiftedData << -q);
      rotatedData = lostData << (q + dataBits); }
      else{
      shiftedData = data << q;
      lostData = data ^ (shiftedData >> q);
      rotatedData = lostData >> (dataBits-q); }
      result = shiftedData + rotatedData;
    return(result);
    }

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    MATLAB n'est pas vraiment un langage adapté pour faire ce genre de chose...
    Néanmoins tu peux regarder la fonction:
    Tu peux aussi utiliser un fichier MEX

  3. #3
    Membre confirmé
    Inscrit en
    Février 2012
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 95
    Par défaut
    pour le langage c:

    << : Décale les bits vers la gauche (multiplie par 2 à chaque décalage). Les zéros qui sortent à gauche sont perdus, tandis que des zéros sont insérés à droite .
    exemple: 6 << 1 (110 << 1) donne le resultat suivant: 12 (1100)


    est ce la fonction bitshift en matlab donne exactement le meme resultat??

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut
    ça a l'air de correspondre d'apres la doc matlab

    If the shift causes C to overflow the number of bits in the unsigned integer class of A, then the overflowing bits are dropped.

    C = bitshift(A, k, n) causes any bits that overflow n bits to be dropped.
    et
    Example 1

    Shifting 1100 (12, decimal) to the left two bits yields 110000 (48, decimal).

    C = bitshift(12, 2)
    C =
    48

  5. #5
    Membre confirmé
    Inscrit en
    Février 2012
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 95
    Par défaut
    est ce qu'il existe une fonction xor bit par bit en matlab ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245

Discussions similaires

  1. Traduction de code Java vers MATLAB
    Par kallelbalsam dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/04/2014, 07h10
  2. [Débutant] Traduction ADA vers C
    Par Kleer dans le forum Ada
    Réponses: 3
    Dernier message: 08/02/2007, 15h09
  3. Traduction ADA vers C
    Par Kleer dans le forum C
    Réponses: 14
    Dernier message: 06/02/2007, 21h20
  4. Traduction C++ vers Delphi
    Par lil_jam63 dans le forum Langage
    Réponses: 6
    Dernier message: 05/07/2004, 13h10
  5. probleme traduction C vers Delphi
    Par zinaif dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2003, 08h51

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