1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| Private Sub Command1_Click()
c1 = enbinaire(&H1FFFFFF, 32)
c2 = enbinaire(&H8000, 32)
MsgBox "voici mes 2 chaines en binaire " & vbCrLf & c1 & vbCrLf & c2
For i = 1 To 32
If Val(Mid(c1, i, 1)) <> Val(Mid(c2, i, 1)) Then chsortie = chsortie & "1" Else chsortie = chsortie & "0"
Next
MsgBox "voici ma chaîne de sortie" & vbCrLf & chsortie
MsgBox " et voici le résultat en décimal de ma chaine de sortie avec montype = 8" & vbCrLf & _
endecimal(chsortie, 8) & vbCrLf & vbCrLf & _
"et voici le résultat en décimal de ma chaine de sortie avec montype = 32" & vbCrLf & endecimal(chsortie, 32)
End Sub
Private Function endecimal(ByVal Chaine As String, montype As Integer) As Integer
Dim i As Integer
For i = 1 To montype
If Mid(Chaine, i, 1) = "1" Then endecimal = endecimal + (2 ^ (montype - i))
Next
End Function
Private Function enbinaire(ByVal nombre As Currency, nbbits As Integer) As String
Dim binaire As String, z As Currency, x As Currency
binaire = ""
z = 0
x = 0
Do Until nombre < 1
x = nombre - (Int(nombre / 2) * 2)
nombre = Fix(nombre / 2)
binaire = CStr(x) + binaire
Loop
If nbbits > Len(binaire) Then
binaire = String(nbbits - Len(binaire), Chr(48)) + binaire
End If
enbinaire = binaire
End Function |
Partager