Friday, January 2, 2015

Equivalent Gray’s Code



Convert Binary Code of a Number into its Equivalent Gray’s Code using Recursion

#include 
#include  
int bintogray(int);
 
int main ()
{
    int bin, gray;
    clrscr();
    printf("Enter a binary number: ");
    scanf("%d", &bin);
    gray = bintogray(bin);
    printf("The gray code of %d is %d\n", bin, gray);
    return 0;
}
 
int bintogray(int bin)
{
    int a, b, result = 0, i = 0;
 
    if (!bin)
    {
        return 0;
    }
    else
    {
        a = bin % 10;
        bin = bin / 10;
        b = bin % 10;
        if ((a && !b) || (!a && b))
        {
            return (1 + 10 * bintogray(bin));
        }
        else
        {
            return (10 * bintogray(bin));
        }
    }
}

Output
 
Enter a binary number:  1011101
The gray code of 1011101 is 1110011

No comments:

Post a Comment