Selectionner un bit dans un octet [Résolu]

Signaler
Messages postés
23
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
11 mai 2006
-
Messages postés
23
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
11 mai 2006
-
bonjour
j'ai besoin de selectionner le premier bit dans un octet
voici la partie de mon programme

numberOfBytesRead = networkStream.Read(myReadBuffer, 0, myReadBuffer.Length)
LstOutputCli.Items.Insert(LstOutputCli.Items.Count, myReadBuffer(0))
BitSync = myReadBuffer(0)

le probleme est que myReadBuffer(0) est un octet et moi je veux juste le premier bit de cet octet

merci

6 réponses

Messages postés
6
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
12 avril 2006

voici, deux moceaux de code : l'un pour tester et l'autre pour affecter un bit.

pour tester un bit :
Dim OctetATester As Byte
Dim BitATester As Byte

BitATester = &H80 ' bit de poid le plus fort

OctetATester = &H12

If (OctetATester And BitATester) = BitATester Then
MsgBox "byte ok"
Else
MsgBox "byte ko"
End If

pour affecter un 1 à un bit :
Dim OctetAAffecter As Byte
Dim BitAAffecter As Byte

BitAAffecter = &H80 ' bit de poid le plus fort

OctetAAffecter = &H12
OctetAAffecter =OctetAAffecter or BitAAffecter

pour affecter un 0 à un bit :

Dim OctetAAffecter As Byte
Dim BitAAffecter As Byte

BitAAffecter = &H80 ' bit de poid le plus fort

OctetAAffecter = &H12
OctetAAffecter =OctetAAffecter and not( BitAAffecter )

beepcool
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Salut Chrisly
Si le premier bit de ton octet est le bit 0
Dans ce cas pour avoir sa valeur tu peux faire

BitSync = myReadBuffer(0) and 1

GRENIER Alain[8D]
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Salut Chrisly
Je suppose que le premier bit de ton octet est le bit 7
Dans ce cas pour avoir sa valeur tu peux faire

BitSync = myReadBuffer(0) \ 128

GRENIER Alain[8D]
Messages postés
23
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
11 mai 2006

le premier bit de mon octet est le bit 0

merci
Messages postés
23
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
11 mai 2006

Merci bien les gars je vais essayer et je vous tiens au courant
Messages postés
23
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
11 mai 2006

sa marche encore merci pour votre aide