在C ++中将二进制数字符数组转换为格雷码的计数器

有没有办法将二进制数的char数组转换为格雷码。例如,我有以下代码:
int j;
char binaryNum[10], *pointer;
/* From Hex convert to decimal */
j = strtol( str, &pointer, 16);
/* From Decimal convert to Binary */
itoa(j, binaryNum, 2);
cout<<"Binary form of Y = "<<binaryNum<<"n";
我想要的是将这个binaryNum转换为格雷码,即一次改变一位。有人可以帮我提供代码吗? 例如,我有一个char binaryNum [10] == 101101 我想将它转换为格雷码,即一次只改变一位,如: 101100 101110 101111 像这样的东西..     
已邀请:
它可以很简单:
x_gray = x ^ (x >> 1);
    

要回复问题请先登录注册