Variable de type bit

enrageur Messages postés 54 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 21 novembre 2008 - 21 juil. 2006 à 11:44
pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006 - 21 juil. 2006 à 19:48
J'aimerais créer une variable de taille 1 bit, mais il y a pas de type pour cela. J'entand par bit, la version française, 8 bits = 1 octet. Je fais habituellement du C++, et je n'ai pas de problème pour cela.
Tous les types de VB sont prédefinis, en octet.
Le but serais de créer une structure de 8 varaibles de 1 bit et de copier un octet dans cette structure, afin d'avoir plus de souplaisse quand le mot de 1 octet est codé, et que chaque bit correspond à une information indépendante des autres.

Merci d'avance pour votre aide.

4 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
21 juil. 2006 à 12:05
Dsl de te décevoir, mais je n'ai jamais trouvé la solution. Obliger de travailler avec l'octet et de jouer avec des masques pour traiter les bits.

Le principe de l'union n'existe pas en VB6 et c'est bien dommage.

Sevyc64  (alias Casy)

<hr /># LE PARTAGE EST NOTRE FORCE #
0
johann91 Messages postés 46 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 21 juillet 2006
21 juil. 2006 à 15:12
Salut,

Si, il y a le type boolean qui correspond à un nombre binaire,
donc à un bit ! Il te suffit de créer un tableau de 8 booléens et de
traiter chaque case du tableau comme un bit qui peut être modifié
indépendamment des autres ! Si c'est bien ça que tu veux faire.
0
enrageur Messages postés 54 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 21 novembre 2008
21 juil. 2006 à 18:15
Je comprends ce que tu veux dire, mais un boolean est defini avec un tail d'un octet.
Donc mon tableau de boolean aura un taille de 8 octets.
Mon but est de definir une structure de type
typedef structure MOT {
 bit   alumageOK;                        // un seul bit
 bit   demarrageEnCours;            // un suel bit
 3 bits   status;                            // le status est un mot de 3 bits
 3 bits   donnee;                         // la donnée est un mot de 3 bits
}
Et quand je recois l'octet correspondant au MOT je fais

MOT monMot;
monMot = OctetRecu;

Et ensuit je peux traiter les bit indépendament
Desolais, ca resemble a du C.
0
pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006
21 juil. 2006 à 19:48
Rebonjour !

La réponse de Sevyc64 allait dans ce sens

si tu fais
dim MOT as short

MOT AND 1 --> Premier bit
MOT AND 2 --> Deuximème bit
MOT AND 28 --> Status
MOT AND 225 --> Donnée

donc si tu a 10100101 et que tu veux la donnée

10100101 AND 11100000 donne 10100000, donc à partir de ce moment la tu peux jours avec les valeurs enrte 10000000 et 11100000 pour tes données

c'est pas aussi facile qu'en C mais ça fonctionne ^_^

PY
0
Rejoignez-nous