Re : Calcul du bit de parité
Bonjour
Merci Roger
Pour l'instant j'en suis à décoder des spécifications, très très succinctes, de protocole d'échange RS232 et le seul élément que j'ai est
"Données : chaîne de caractères ASCII-7 (20H à 7FH + 0DH, 0EH) + Parité Paire
Trame données :
Code de parité paire ou LRC : OU EXCLUSIF des caractères donnés"
Il y a aussi un exemple en WINDEV où est utilisée la fonction OUExclusifBinaire (BinaryXOR)
OUExclusifBinaire (Fonction) - PC SOFT - Documentation en ligne
//Calcul du LRC sur la chaine sEnvoi toujours terminée par le chiffre 3 = code de fin de message
ChaineLRC=0
POUR j =1 A TailleAsc
ucCaratere = Asc(Milieu(sEnvoi,j,1))
ChaineLRC=OUExclusifBinaire(ChaineLRC,ucCaratere)
FIN
ChaineLRC=OUExclusifBinaire(ChaineLRC,3)
Je viens de découvrir qu'il existe sur 2013 une nouvelle fonction BITOUEXCLUSIF qui semble équivalente
BITOUEXCLUSIF (BITOUEXCLUSIF, fonction) - Excel.
N'étant pas très au fait de la manipulation de valeurs en binaire
, je rame à décoder ce que doit être la valeur de LRC car ces fonctions ne me parlent pas…
Ta fonction correspond à ce que j'avais compris quand j'ai posté mais si je comprends bien ce que font les fonctions citées, ce n'est plus 0 ou 1 que l'on obtient.
Je pense qu'en regardant ce que font ces fonctions tu comprendras bien mieux que moi et pourras me dire si ta fonction est équivalente ou non.
De mon côté je vais voir ce que fait Excel 2013 et peut-être comprendre (???) car il faut que je puisse faire marcher cela sur 2010… et donc ton aide est bienvenue
.
Edit : test sur 2013 : effectivement cela renvoie des nombres très variables. Si je fais par formules l'équivalent de la boucle en comparant avec la fonction BITOUEXCLUSIF les 2 codes ascii des 2 premiers caractères, puis ce résultat avec le code ascii du caractère suivant sur la chaîne 0123456789AB je passe par des valeurs diverses et termine à 2.
Donc si on peut faire l'équivalent sur 2010, par VBA je suis preneuse... Un grand merci par avance