题目描述
Gray code is wellknown for its stable. In the machine , gray code can ensure every neighbor number only change one binary bit. Such as the number 3 code as 010 and 4 code as 110 (but in normal binary code 3 is 011 and 4 is 100 ,change two bit) .
Gray code rule is as follows : First turn a number to a normal binary code such as 5 is 101 , and every bit XOR with its left bit , change 101 to 111 )
输入
There are several test cases,every test case has a decimal number n ( n<2^30)
输出
Please output the given number’s binary gray code . Extra leading zero is unexpected.
样例输入
41
样例输出
111101
提示
来源
#include<stdio.h>
main()
{
int n,i=0,b,a[80],t;
while(scanf("%d",&n)!=EOF)
{b=n>>1^n;
do{
a[i]=b%2;
b=b/2;
i++;
}while(b!=0);
t=i;
for(i=t-1;i>=0;i--)
printf("%d",a[i]);
printf("\n");
i=0;}
}