2
我想将任何正整数转换为一些基地从2
到9
。 为基数2
输出应该是:整数转换为给定的基地
0 -> enlist 0
1 -> enlist 1
31 -> 1 1 1 1 1
62 -> 1 1 1 1 1 0
63 -> 1 1 1 1 1 1
64 -> 1 0 0 0 0 0 0
我开发了这个
convertToBase: reverse {[x;base;result]
result,: `int$x mod base;
x-: last result;
x%: base;
$[x=0;result;.z.s[x;base;result]]
};
//invocation
convertToBase[62;2;()]
的问题是下一个功能,如果有任何内建Q
功能,有效地做到这一点?如果没有,如何优化解决方案?
谢谢保罗。你使用哪个版本的Q.我尝试了3.2和3.3并得到了'nyi'。是3.4吗? –
我目前使用kdb + 3.4 2016.06.14,是的。直到最近我还没有机会使用这个成语,所以我从来没有在旧版本上进行过测试。 –
谢谢你的回复,很好的功能,坏的不在<3.4。 –