Convertir un octet en 8 bits (10011101) bytestobits

Contenu du snippet

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

A voir également

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.