|
Для 16-ти разрядов первый цикл до 4, а не до 8 можно.
unsigned int rem15(unsigned long ll)
{
unsigned int i,j,k;
k=0;
for(i=0;i<8;i++) {k+=(unsigned int)(ll&15L);ll>>=4;}
j=0;
for(i=0;i<2;i++) {j+=(k&15);k>>=4;}
k=0;
for(i=0;i<2;i++) {k+=(j&15);j>>=4;}
if(k==15) k=0;
return k;
}
E-mail: info@telesys.ru