Tableau de bytes vers tableau de booléens

Contenu du snippet

'je n'ai pas utilisé Lbound() mais rien ne l'empêche
'Passer donc un tableau de base 0 (ou la modifier :) )
Private Function Bytes2Bools(Bytes() As Byte, MultiDim As Boolean) As Boolean()
Dim iByte  As Integer
Dim iBool As Integer
Dim Res() As Boolean
    'on dimensione le tableau de sortie
    If MultiDim Then
        ReDim Res(0 To UBound(Bytes), 0 To 7)
    Else
        ReDim Res(0 To ((UBound(Bytes) + 1) * 8) - 1)
    End If
    'pour chaque Byte contenu dans
    'le tableau des parametre
    For iByte = 0 To UBound(Bytes)
        'pour chaque bit du Byte
        For iBool = 0 To 7
            'suivant le choix de la dimension
            If MultiDim Then
                Res(iByte, iBool) = (((2 ^ iBool) And Bytes(iByte)) <> 0)
            Else
                Res((iByte * 8) + iBool) = (((2 ^ iBool) And Bytes(iByte)) <> 0)
            End If
        Next iBool
    Next iByte
    'on retourne le tableau construit
    Bytes2Bools = Res
End Function

Compatibilité : VB6, VBA

Disponible dans d'autres langages :

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.