Avec le code suivant, je compare 2 chaines de caractères ne contenant que des 1 ou 0.
Ensuite je fait le compte des "positions" commune des valeurs 1.
Je butte sur une limitation de 63 caractères .
Comment proceder pour aller jusqu'à 100 caractères en 1 seul passage ?
Code : Tout sélectionner
;
;Chaines de caractères longues de 63
; = 1 2 3 4 5 6 7
; = 1234567890123456789012345678901234567890123456789012345678901234567890
Valeur1.s = "100101010100110101010101010101111111111101010101010000000000011"
Valeur2.s = "100000000000000000000000000000000000000100000000000000000001001"
test.d = Val("%"+Valeur1) & Val("%"+Valeur2)
; nombre de 1 Communs entre Valleur1 & Valeurs2
Resultat.d = CountString(Bin(test),"1")
; nombre de 1 Communs entre Valeur1 & Valeurs2
resulte.d = CountString(Bin(Val("%"+Valeur1) & Val("%"+Valeur2)),"1")
;
Debug"Longueur Chaine Valeur1 = " + Str(Len(Valeur1))
Debug"Longueur Chaine Valeur2 = " + Str(Len(Valeur2))
Debug"======================================================================="
Debug Valeur1
Debug Valeur2
Debug Bin(test)
Debug "Communs au 2 Chaines = " +Str(Resultat)
Debug "Communs au 2 Chaines (formule) = " +Str(resulte)
Debug"======================================================================="
Debug Val("%"+Valeur1)
Debug Val("%"+Valeur2)
Debug test
Debug"======================================================================="
Debug Bin(Val("%"+Valeur1)) ; Bin Valeur1
Debug Bin(Val("%"+Valeur2)) ; Bin Valeur2
Debug Bin(test)
Debug"======================================================================="