Rechercher...
Auteur : Kristian PARADIS
Code adapté du C++Procédure mCalculerCRC(_Chaine)
//Renvoie une chaine sur 2 octets.
eBit est un entier
eOctet est un entier
eCaract est un entier sans signe
eCRC est un entier sans signe
cChaine est une chaine = _Chaine
POUR eOctet = 1 _A_ taille(cChaine)
eCaract = ASC(cChaine[[eOctet]])*0x100
eCRC = OUExbinaire(eCRC,eCaract)
POUR eBit = 0 _A_ 7
SI ETBinaire(eCRC,0x8000) <> 0 ALORS
eCRC = eCRC * 2
eCRC = OUExbinaire(eCRC,0x1021)
SINON
eCRC = eCRC * 2
FIN
FIN
eCRC = ETBinaire(eCrC,0xFFFF)
FIN
RENVOYER Caract(PartieEntiere(eCrC/256)) + Caract(Modulo(eCrc,256))
Atelier de Génie Logiciel