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
41
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