Buscar

cksm código

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);
	
	
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais