CRC sur un buffer de bits

amosan Messages postés 3 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 6 janvier 2006 - 2 janv. 2006 à 16:14
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 7 janv. 2006 à 00:29
Bonjour,
Je cherche à calculer un CRC sur un buffer de bits. Les algorithmes que j'ai trouvés fonctionnent sur des buffers d'octets (crc de fichiers, de caractères, etc). Quelqu'un peut-il m'aider ?

Merci

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 janv. 2006 à 20:26
"buffer de bits" ne veut rien dire, 1 octet = 8 bits.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
dbiare Messages postés 45 Date d'inscription mercredi 30 novembre 2005 Statut Membre Dernière intervention 6 janvier 2006
4 janv. 2006 à 09:19
Effectivement plusieurs bits te forme des octets, des mots etc...
Si tu n'as pas de 'format' (genre 8bits=1octets ou 16bits=1mot etc.) bien précis alors complète tes 'buffets de bits' par des zéros en poids FORT (sur la gauche) jusqu'a obtenir des octets, mots ou autre et sers toi des algorithme trouvés!
Ciao ;-)
0
amosan Messages postés 3 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 6 janvier 2006
6 janv. 2006 à 15:20
J'entends par "buffer de bits" un buffer ayant un nombre quelconque de bits, pas forcément un multiple de 8 comme pour des fichiers ou des chaines de caractère.
Et j'ai absolument(malheureusement) besoin de l'appliquer sur la longueur réelle du buffer.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 janv. 2006 à 00:29
Le CRC32 que j'ai mis ici:
http://www.cppfrance.com/code.aspx?ID=32855
serait tout à fait applicable, un buffer est toujours composé d'octets car c'est la plus petite entité adressable.
Si on te dit 8 bits alors buffer 1 octet, si 9 bits alors 2 octets car le 2eme octet a bien été adressé pour y positionner le 9eme bit.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
Rejoignez-nous