All pastes #275464 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-12-11 15:35 UTC
rendered paste body
#include<stdio.h>
#include<string.h>
short int poly = 0x1021;

short int calc(short int aug_msg,short int rem);

int main()
{
        char str[20];
        int len;
        short int rem=0,i=0;
        printf("Enter the message : ");
        scanf("%s",str);
        len = strlen(str);

        str[len] = 0;
        str[len+1] = 0;
        str[len+2] = '\0';

        while(i< (len+2))
        {
                rem = calc(str[i],rem);
                i++;
        }
        printf("CRC calculated : %x\n",rem);
        return 0;
}


short int calc(short int aug_msg,short int rem)
{
        int xor_flag = 0,i=0;

        aug_msg = aug_msg << 8;

        while(i<8)
        {
                if( rem & 0x8000)
                {
                        xor_flag = 1;
                }
                else
                {
                        xor_flag= 0;
                }

                        rem = rem << 1;
                if( aug_msg & 0x8000)
                {
                        rem++;
                }
                        aug_msg = aug_msg << 1;

                if(xor_flag)
                        rem = rem ^ poly;

                i++;

        }

        return rem;
}