Extraire données d'une valeur BCD
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Extraire données d'une valeur BCD



  1. #1
    invite7c14880d

    Extraire données d'une valeur BCD


    ------

    Bonjour a toutes et a tous.
    Je souhaiterais extraire d'une variable en BCD, les centaine, les dizaine, et les unité.
    Ex: BCD=0100 0110 1101
    Et je souhaiterais obtenir
    centaine= 0100
    dizaine= 0110
    unité= 1101


    J'ai réussi (je pense) a récupérer les centaines
    centaine=BCD >> 8

    Mais je ne vois pas comment faire.
    Je pense que c'est possible avec des masque mais je ne vois pas comment car je n'ai jamais trop comprit comment les utilisé.

    Merci

    -----

  2. #2
    Qristoff
    Animateur Électronique

    Re : Extraire données d'une valeur BCD

    par soft ou par hard ?
    Tout existe, il suffit de le trouver...!

  3. #3
    invite7a49d0d5

    Cool Re : Extraire données d'une valeur BCD

    Bonsoir,

    un exemple avec masquages :

    BCD=0100 0110 1101
    mil = BCD >> 8
    cen = BCD >> 4
    cen = cen AND 0b000000001111
    diz = BCD AND 0b000000001111

    sinon rien qu'avec des décalages :

    BCD=0100 0110 1101
    mil = BCD >> 8
    cen = BCD << 4
    cen = cen >> 8
    diz = BCD << 8
    diz = diz >> 8

    mais il doit exister des formules "plus propres"...
    cf récents fils hex2dec...
    vede
    ;O]
    _____________
    ...

  4. #4
    invite7a49d0d5

    Cool Re : Extraire données d'une valeur BCD

    ps :

    http://forums.futura-sciences.com/el...pic16f887.html

    où tu trouveras notamment des listes de liens vers ressources de conversions...

  5. A voir en vidéo sur Futura
  6. #5
    sdec25

    Re : Extraire données d'une valeur BCD

    Bonsoir,
    En C on peut utiliser une struct pour extraire les bits 4 par 4.
    Code:
    struct {
    unsigned mil:4;
    unsigned cent:4
    unsigned diz:4;
    unsigned unite:4;
    } var;
    var.mil; // extrait les milliers
    Caster un unsigned short (16 bits) qui contient le BCD dans cette struct pour extraire les chiffres.

  7. #6
    invite7c14880d

    Re : Extraire données d'une valeur BCD

    Merci de toutes vos reponse.
    J'avais oublier de dire que je code en C, que j'utilise MickroC Pro, et que je souhaite le faire par soft.
    Je vai prendre ceci.

    BCD=0100 0110 1101
    mil = BCD >> 8
    cen = BCD >> 4
    cen = cen AND 0b000000001111
    diz = BCD AND 0b000000001111


    Sa marcherai ceci ? (je pense que oui.)
    BCD=0100 0110 1101
    mil = BCD >> 8
    cen = BCD AND 0b000011110000
    diz = BCD AND 0b000000001111

    Je revien se soir si j'ai un probleme.

  8. #7
    invite7a49d0d5

    Cool Re : Extraire données d'une valeur BCD

    Bonjour,

    non, plutôt :

    BCD=0100 0110 1101
    mil = BCD >> 8
    cen = BCD AND 0b000011110000
    cen = cen >> 4 // indispensable pour retrouver les bits au bon endroits (3210)...
    diz = BCD AND 0b000000001111

    bonn'journée,
    vede
    ;O]
    ____________________
    ...

Discussions similaires

  1. Logiciel pour extraire son d'une video
    Par invite4ef90934 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/05/2010, 15h34
  2. (Matlab) Extraire des données depuis un fichier texte et les placer dans une matrice
    Par invite02e128cc dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 14/12/2009, 12h09
  3. Extraire TimeCode d'une vidéo
    Par yateri dans le forum Électronique
    Réponses: 1
    Dernier message: 20/04/2009, 19h21
  4. EEPROM comment extraire les donnees et en remettre d'autres
    Par invite45fed121 dans le forum Électronique
    Réponses: 0
    Dernier message: 19/09/2008, 03h19
  5. Extraire fichier MP3 d'une liste de lecture M3U
    Par invitef47e13a5 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 20/01/2006, 21h03
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...