Código de verificación fuente
Si los datos originales son 1101011, entonces el código de verificación generado por el polinomio es x 4+x+1 (es decir, 100165438) es 1165438.
Ingrese 1101111110011.
Salida 1110
¿#Contiene? & ltiostream & gt
#Contiene? & ltcstring & gt
#¿Contiene? & ltiomanip & gt
¿Usar? ¿Espacio de nombres? std
#¿Definición? ¿TAMAÑO DE PALABRAS? 255
int? getNum(char?a[],?int?n);
¿No es válido? showNum(int?r,?int?n);
int? main(int?argc,?char?*argv[])
{
cout & lt& lt"¿Por favor?Enter?x?Then.p:"& lt;<endl
int? incógnita,? pag,? Lena. lenP
¿Ciel? a[WORDSIZE];
memset(a,'\0',?WORDSIZE);
CIN>>a;
Lina. =?strlen(a);
x? =?getNum(a,WORDSIZE);
memset(a,'\0',?WORDSIZE);
CIN>>a;
¿Lemp? =?strlen(a);
p? =?getNum(a,WORDSIZE);
x? & lt& lt=?¿Bulto? -?1;
int? ¿resultado? =?0,?I;
¿Para qué? (¿Yo?=?Lina.-?1;?Yo?>=?0;?Yo-)? {
¿Y si? (x?& amp?(1?& lt& lt?(I?+?Bloque?-?1)))?{
¿Resultado? =?Resultado? *?2?+?1;
x? ^=?(p?& lt& lt?I);
}?¿Y si? {
¿El resultado? =?Resultado? *?2;
}
}
showNum(x, Lump?-?1);
¿Devolver? 0;
}
int? getNum(char?a[],?int?n)
{
int? k? =?0;
int? Yo;
¿Para qué? (I?=?0;?I?& lt?n?& amp& amp?A[I]?!=?'\0';?i++)? {
k? =?k? *?2?+?A[I]? -?'0';
}
¿Volver? k;
}
¿No es válido? showNum(int?r,?int?n)
{
int? Yo;
¿Para qué? (¿Yo?=?n?-?1;?Yo?& gt=?0;?Yo-)? {
¿Y si? (r?& amperio?(1?& lt& lt?i))? {
cout & lt& lt1;
} ¿De lo contrario? {
cout & lt& lt0;
}
}
cout & lt& ltendl
}Esto es Escribí un programa cuando era demasiado vago para hacer una pregunta CRC en una red informática. Espero que te sea útil.