Fonctionnement de xor

Contenu du snippet

Bon ben voila sa fait longtemps que j'ai pas poster de source ici , et puis je veux des points :P , Nan c des jokes.
Quelqu'un sur le chat m'avait expliqué comment fonctionne l'opérant Xor

En fait c'est très simple et j'ai fait une source qui reproduit Xor.
Pour commencer , mon code "traduit" les 2 chiffre en binaires
Par exemple:
10 = 00001010
25 = 00011001
10 Xor 25 = 19

Le principe de xor:
xor prend chaque chiffre du code binaire de chaque nombre et retourne 1 si il sont different ou bien 0 si il sont pareil

0 0 0 0 1 0 1 0
0 0 0 1 1 0 0 1
-------------------
0 0 0 1 0 0 1 1

Dans cette exemple seul les colonne 4,7 et 8 sont constitué de chiffre different , donc seulement ces colonnes vont etre agale a 1

Dans mon code il y a les fonctions pour transferer un code binaire en chiffre et un chiffre en binaire
Il y a aussi la fonction vbXor(chiffre1,chiffre2)

Ce code ne sert pas vraiment a grand chose seulement a montrer comment fonctionne xor.

Svp ne mettez pas 1 a cause que c'est inutile :-O c'est instructif , donc c'est pas inutile!

Source / Exemple :


Public Function vbXor(chiffre1 As Integer, chiffre2 As Integer) As Integer
char1 = Dec2Bin(chiffre1)
char2 = Dec2Bin(chiffre2)
For i = 1 To 8
    If Val(Mid(char1, i, 1)) <> Val(Mid(char2, i, 1)) Then char3 = char3 & "1" Else char3 = char3 & "0"
Next
vbXor = Bin2Dec(char3)
End Function

Public Function Dec2Bin(Chaine As Integer) As String
    Dim i As Integer
    For i = 1 To 8
        If Chaine >= (2 ^ (8 - i)) Then Dec2Bin = Dec2Bin & "1": Chaine = Chaine - (2 ^ (8 - i)) Else Dec2Bin = Dec2Bin & "0"
    Next
End Function

Public Function Bin2Dec(ByVal Chaine As String) As Integer
Dim i As Integer
    For i = 1 To 8
        If Mid(Chaine, i, 1) = "1" Then Bin2Dec = Bin2Dec + (2 ^ (8 - i))
    Next
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.