只是好奇心问题,格雷码是否定义为基数2以外的基数?
我试着计算基数3,写连续值,注意一次只改变一个trit.我已经能够枚举最多26(3**3-1)的所有值,它似乎工作.
000 122 200
001 121 201
002 120 202
012 110 212
011 111 211
010 112 210
020 102 220
021 101 221
022 100 222
Run Code Online (Sandbox Code Playgroud)
我能看到的唯一问题是,当循环回零时,所有三个trits都会改变.但这只适用于奇数基数.当使用偶数基数循环回零时,只会改变一个数字,如二进制.
我甚至猜测它可以扩展到其他基数,甚至十进制.这可能导致在十点基数计数时的另一个排序...... :-)
0 1 2 3 4 5 6 7 8 9 19 18 17 16 15 14 13 12 11 10
20 21 22 23 24 25 26 27 28 29 39 38 37 36 35 34 33 32 31 30
Run Code Online (Sandbox Code Playgroud)
现在的问题是,有没有人听说过它?有申请吗?或者它只是数学上的狂热?
aio*_*obe 10
是.看看维基百科上的格雷码文章.它有一个关于n-ary格雷码的部分.
除二进制反射格雷码之外,还有许多特殊类型的格雷码.一种这样的格雷码是n元格雷码,也称为非布尔格雷码.顾名思义,这种类型的格雷码在其编码中使用非布尔值.