чегойто я вообще загоняю! чтобы полином степени n был неприводимым, необходимо ,чтобы полином x^(2^n)+x, делился без остатка на искомый полином! то есть по нашему говоря, для 48 степени
unsigned long long CRC48(unsigned char,unsigned long long);//здесь искомый полином
unsigned char a[(1<<(48/8))];//x^(2^n)+x
a[0]=0x01;// коэф при x
a[(1<<(48/8))-1]=0x80;//коэф при x^(2^n)
if(CRC48(a,(1<<(48/8))-1)==0)printf("Полином CRC48 неприводимый ");