C Programming Code Examples C > Conversions Code Examples Convert Binary Code of a Number into its Equivalent Gray's Code without using Recursion Convert Binary Code of a Number into its Equivalent Gray's Code without using Recursion This C program, using iteration, evaluates the gray code equivalent of a binary number. A gray is also represented using 0s and 1s. The speciality of gray code is that only one bit is changed in 2 consecutive numbers, say 3 and 4. /* - C Program to Convert Binary Code of a Number into its Equivalent - Gray's Code without using Recursion */ #include <stdio.h> #include <math.h> int bintogray(int); int main () { int bin, gray; 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 x, y, result = 0, i = 0; while (bin != 0) { x = bin % 10; bin = bin / 10; y = bin % 10; if ((x && !y) || (!x && y)) { result = result + pow(10, i); } i++; } return result; }