Ceci est une petite fonction qui peut être très utile.
Elle permet de convertir un Octet (Byte) en un tableau Boolean (True ou False donc 1 ou 0 [True = -1])
J'utilise pour celà les opérations sur les bits et les décalages.
Source / Exemple :
Public Function ByteToBits(ByVal Octet As Byte) As Boolean()
Dim TblBits(7) As Boolean 'Tableau de bits (Boolean)
Dim ByteOperation As Byte = 128 'On commence avec 10000000
Dim Bit As Byte 'On stocke un bit dans une valeur Byte de 8 octets
For Iteration As Integer = 0 To 7 'Boucle
Bit = Octet And ByteOperation 'On effectue l'opération And pour ne récupérer qu'un 1 ou 0 car ByteOperation ne contient qu'un bit à 1 donc le retour sera soit 0 soit une serie de 0 avec un 1.
Bit >>= (7 - Iteration) 'On décale les bits pour que notre valeur soit la plus à droite ainsi on aura une valeur Byte de 1 ou de 0
ByteOperation >>= 1 'On décale le bit 1 d'opération And d'abord placé à 10000000 puis 01000000 ouis 00100000 etc
TblBits(Iteration) = CBool(-Bit) '-1 pour Trye et 0 pour False 'On convertit la valeur en Boolean c'est à dire si Bit = 1 alors il sera égale à -1 et si Bit = 0 alors il sera égale à 0 ;)
Next
'C'est fini
Return TblBits 'On renvoit
End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.