它是什么类型的系列以及如何通过php程序生成它?
0 1 3 2 6 7 5 4 12 13 15 14 ...
观察:实体的连续差值为 1
例:
0 和 1 的差值为 1
3 和 2 的差为 1
6 和 7 的差值为 1
5 和 4 的差值为 1
12 和 13 的差值为 1
15 和 14 的差值为 1
请帮忙...
它是格雷码的十进制等价物,最高可达n。我已经编写了一个代码来生成任何数字的格雷码,使用它来生成一个系列。我用过Javascript,但你可以选择任何你想要的语言。
Number.toGrayCode = function(n) {
if (n < 0) {
throw new RangeError("cannot convert negative numbers to gray code");
}
return n ^ (n >>> 1);
};
for( var i=0;i<=10;i++)
console.log(Number.toGrayCode(i));