Bonjour, je dois faire la division d'un message binaire par un polynôme générateur traduit en binaire. J'ai décider de coder de la manière suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
int degre_polynome(suite_binaire s_b)
{
	int i,degre=s_b.taille;
 
	for(i=0;i<s_b.taille;i++)
	{
		if(s_b.bit[i]==1)
		{
				degre=s_b.taille-i;
				i=s_b.taille;
		}
		else
			degre-=1;
	}
 
	return degre;
}
 
suite_binaire div_polynomiale(suite_binaire m_b,suite_binaire g)
{
	suite_binaire reste=m_b;
	int i,curseur1=0,curseur2=g.taille;
	int nb_decalage=0;
	int a=0,b=0;
 
	while(degre_polynome(reste)>degre_polynome(g))
	{
		for(i=curseur1;i<curseur2;i++)
		{
			if(m_b.bit[i]==1 && g.bit[i-nb_decalage]==1)
				reste.bit[i]=0;
			else if(m_b.bit[i]==0 && g.bit[i-nb_decalage]==0)
				reste.bit[i]=0;
			else
				reste.bit[i]=1;
		}
 
		a=curseur1,b=curseur2;
		for(i=a;i<b;i++)
		{	
			if(reste.bit[i]==0)
			{
				nb_decalage+=1;
				curseur1+=1;
				curseur2+=1;
			}
		}
	}
	return reste;
}
Je cherche donc à savoir si le degré le plus haut du reste est plus grand que celui du polynôme générateur (soit le premier 1 rencontré). Je suis cependant confronté à une erreur de segmentation. Pouvez m'aider et me conseiller sur la manière de procéder? Merci d'avance.