标签:表示 void 自底向上 first oid 取值 组合 class next
每一位上的值代表着在相应的那一行的一个位置。
比如十进制的789。7实际上是百位上的余值,它在该位的意义是7x10x10,8的意义为8x10。9为
最低位余值。没有10能够乘了。
所以[2][1][3],混合进制,进制分别为【3,2。4】。[2][1][3]在每一位上的值,实际上是本
位的余值,是低位们相乘的值。
即,
15 => [1][1][3]。即1x2x4 + 1x4 + 3 => 15
23 => [2][1][3],即2x2x4 + 1x4 + 3 => 23
对于23,即[2][1][3]。我们理解为最低位是4进制,次低位为2进制,最高位为3进制。
所以依照例如以下方式取得每一位的值
2.第2行是次低位。2进制,先同2 取余获得余值1。即位置值为:1
再除以2越过该位:[2][1] 变为 [2]。
3.第3行是最高位。3进制,先同3 取余获得余值2,即位置值为:2
再除以3越过该位:[2] 变为 空。
这样3个位置值都获取到了。即我们不把23单纯当做23,而是将它看做[2][1][3]。从而通过以
上的方式获取到各个行中的位置也就是3,1,2。
总结:
将位置3x2x4的24种组合理解为[0-2] [0-1] [0-3]的三个方框的组合方式,把每一个方框看成一
位的话。那个方框就使用了一个固定的进制,所以0 -- 23 之间的值都能够用三个位表示,
每一位就代表在每一个方框中的取值,也即在二维数组中的位置。
而0 -- 23这24个值恰好覆盖了三个方框全部种组合,所以用这样的多进制组合位的方式能够实现多组值得交叉遍历。
标签:表示 void 自底向上 first oid 取值 组合 class next
原文地址:http://www.cnblogs.com/cxchanpin/p/6724998.html