Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
/* ********** Basic Libraries ********** */ #include <stdio.h> #include <math.h> #include <string.h> /*---------------------------------------------------------------------------*/ static unsigned int chksum(unsigned int sum, const unsigned char *data, unsigned int len) { unsigned int t; const unsigned char *dataptr; const unsigned char *last_byte; dataptr = data; last_byte = data + len - 1; while(dataptr < last_byte) { /* At least two more bytes */ t = (dataptr[0] << 8) + dataptr[1]; sum += t; if(sum < t) { sum++; /* carry */ } dataptr += 2; } if(dataptr == last_byte) { t = (dataptr[0] << 8) + 0; sum += t; if(sum < t) { sum++; /* carry */ } } /* Return sum in host byte order. */ return sum; } /*---------------------------------------------------------------------------*/ main() { unsigned char Info[8] ; unsigned int Size , SUM ; // static unsigned int chksum(unsigned int, const unsigned char *, unsigned int ) ; int i,N ; Size = 8 ; printf("Info: ") ; scanf("%s",Info) ; printf("Power of 10: ") ; scanf("%d",&N) ; for(i=1;i<=pow(10,N);i++) { SUM = chksum(SUM,Info,Size); } printf("%u \n",SUM); }
Compartilhar