Valeur binaire sans calculs

Contenu du snippet

converti une valeur en string binaire, sans opérations mathématiques.
vive le masque de bits :)

Source / Exemple :


DefInt A-Z

Function IntToBin(IntVal As Integer) As String
'valeur binaire d'un entier 16-bits par bit-masking
    IntToBin = Space$(16)
    Mid(IntToBin, 1, 1) = Abs((IntVal And &H8000) > 0)
    Mid(IntToBin, 2, 1) = Abs((IntVal And &H4000) > 0)
    Mid(IntToBin, 3, 1) = Abs((IntVal And &H2000) > 0)
    Mid(IntToBin, 4, 1) = Abs((IntVal And &H1000) > 0)
    Mid(IntToBin, 5, 1) = Abs((IntVal And &H800) > 0)
    Mid(IntToBin, 6, 1) = Abs((IntVal And &H400) > 0)
    Mid(IntToBin, 7, 1) = Abs((IntVal And &H200) > 0)
    Mid(IntToBin, 8, 1) = Abs((IntVal And &H100) > 0)
    Mid(IntToBin, 9, 1) = Abs((IntVal And &H80) > 0)
    Mid(IntToBin, 10, 1) = Abs((IntVal And &H40) > 0)
    Mid(IntToBin, 11, 1) = Abs((IntVal And &H20) > 0)
    Mid(IntToBin, 12, 1) = Abs((IntVal And &H10) > 0)
    Mid(IntToBin, 13, 1) = Abs((IntVal And 8) > 0)
    Mid(IntToBin, 14, 1) = Abs((IntVal And 4) > 0)
    Mid(IntToBin, 15, 1) = Abs((IntVal And 2) > 0)
    Mid(IntToBin, 16, 1) = Abs((IntVal And 1) > 0)
End Function

'ya volontairement pas de for....next, car c'est bcp plus rapide asm parlant via cette ecriture directe.

Conclusion :


...
heu, faut que j'arrete avec les sources bidons...

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.