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

Langage Delphi Discussion :

Isoler les 2 parties d'un Byte


Sujet :

Langage Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 19
    Par défaut Isoler les 2 parties d'un Byte
    Bonjour à tous,

    Dans un de mes programme je suis amené à récupérer la partie gauche et la partie droite d'un byte et voici ce que je fais :
    Pour récupérer la partie gauche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var B,G : Byte;
    G :=  B shr 4;
    Pour récupérer la partie droite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var B,D : Byte;
    D :=  B-((B shr 4) shl 4);
    donc si j'ai B=$C3
    je récupère G=$C et D=$3

    Je suis en train d'optimiser au maximum mon code pour qu'il s'exécute plus rapidement.
    Je ne pense pas qu'il y ait un moyen plus rapide (en temps de calcul cpu) de récupérer la partie gauche mais pour la partie droite je sais pas.
    A votre avis ?

    Merci,
    Bobby-B

  2. #2
    Membre expérimenté
    Profil pro
    ----
    Inscrit en
    Mai 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ----

    Informations forums :
    Inscription : Mai 2004
    Messages : 185
    Par défaut
    Utilise la fonction and
    et c'est réglè

    15 est égal a 00001111 en binaire, et comme l'operation And ne place un bit a 1 que si les deux bit de même rang sont a 1, tu élimine tout les bit de poids fort (de gauche ) en métant a zero leurs equivalent

  3. #3
    Membre éprouvé Avatar de fs999
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Par défaut
    Salut,

    Voilà.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var
      B, G, D: Byte;
    begin
      B := $C3;
      G := B shr 4;
      D := B and $F;
      ShowMessage('G:$'+IntToHex(G, 1)+#13+'D:$'+IntToHex(D, 1));
    end;
    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2003
    Messages : 19
    Par défaut
    Merci tous les 2 pour vos réponses.
    Je me doutais bien qu'il y avait plus simple

    Bobby-B

  5. #5
    Membre expérimenté
    Profil pro
    ----
    Inscrit en
    Mai 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ----

    Informations forums :
    Inscription : Mai 2004
    Messages : 185
    Par défaut
    Je te recommande de bien apprendre les opération logique ainsi que leur utilité... la plupart des optimisation passe par une bonne connaissance du Boolean
    Bonne continuation @you

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Free Pascal] Stocker des sous-parties d'une chaîne : isoler les paramètres d'une commande
    Par eldoir dans le forum Free Pascal
    Réponses: 3
    Dernier message: 07/03/2012, 05h23
  2. isoler les données de la partie graphique
    Par samplaid dans le forum Langage
    Réponses: 3
    Dernier message: 01/11/2008, 13h13
  3. [AJAX] Isoler les éléments de "xhr.responseText" ?!
    Par ghohm dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/09/2006, 15h00
  4. [CSV] Comment isoler les différents champs
    Par Death83 dans le forum Langage
    Réponses: 4
    Dernier message: 25/08/2006, 21h00

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