有没有办法将二进制数的字符数组转换成格雷码?例如,我有以下代码:
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 binaryNum10 == 101101,我想把它转换成格雷码,也就是一次只改变一个比特,比如: 101100 101110 101111,就像这样。
发布于 2011-02-07 02:37:21
它可以像下面这样简单:
x_gray = x ^ (x >> 1);https://stackoverflow.com/questions/4915254
复制相似问题