Bonjour,
J'ai été me documenté sur les CRC mais j'ai du mal à comprendre le concepte. Comment réalises t-on le calcul d'un CRC ? Quel est le principe de base s'il y en a un ?
 
			
			






 
			
			
			
			 
			
				
 Algorithme CRC et autre
 Algorithme CRC et autre
				
				
						
						
				Bonjour,
J'ai été me documenté sur les CRC mais j'ai du mal à comprendre le concepte. Comment réalises t-on le calcul d'un CRC ? Quel est le principe de base s'il y en a un ?
 
 
				
				
						
						
				Il y un tutoriel disponible ici meme:
http://dvsoft.developpez.com/Articles/CRC
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				Merci. Je me doutais qu'il y avais quelque chose à ce propos sur Developpez.com.
Je ne suis pas suffisamment familier avec le C (C++ ?). Mais, si j'ai bien compris, il s'agit de totaliser la valeur de chaque caractère ANSI dans un byte et puis d'y appliquer un modulo 255 pour obtenir un reste. Je suppose aussi que l'utilisation d'un mot plus grand offre une plus grande "diversité" dans les résultats.
Il n'y a pas de soucis avec la division binaire et je pense que j'ai compris la notion de polynome.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
Pour l'implémentation technique, il va falloir que je fasse quelques gribouillis sur papier.
 
 
				
				
						
						
				Oui, tu as bien compris le principe. L'algo que tu décris (celui du chapitre 2) est une somme de controle (checksum) très simple, qui n'est pas tres robuste (cf. le chapitre 3)
Le calcul du CRC est plus compliqué car il necessite de faire une division binaire avec un polynome qui n'est pas une puissance de 2. Donc il ne suffit pas de prendre les n-bits de poids faibles (avec un AND).
Heureusement on peut effectuer facilement la division binaire de l'énnnoooorme valeur d'entrée par le polynome, en utilisant un registre comme le décrit le reste du tutoriel.
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
Partager