Max*_*Max 5 math logarithm base radix
我有一个任意基数的整数表示的长度.假设长度为15,基数为36.然后,我想知道所述整数的表示在另一个任意基数中的持续时间.即,转换为基数2可能会导致长度为68.
我知道这是在下面的线条,但我不能完全了解我需要的地板和ceil,我得到的结果有点偏离:
length * log(fromBase) / log(toBase)
Run Code Online (Sandbox Code Playgroud)
遵循类似Mathematica的语法,让我们
Log[b,n]
Run Code Online (Sandbox Code Playgroud)
表示n的基数b的对数.让我们来Log[n]代表自然对数n.
然后比例
Log[b1,n]/Log[b2,n]
Run Code Online (Sandbox Code Playgroud)
是不变的,等于
Log[b2]/Log[b1]
Run Code Online (Sandbox Code Playgroud)
此比率是b1从基数中的位数计算基数位数的乘数b2(反之亦然,如果你看到那样的话).对于问题中的示例,需要15位数的base-36数字
15*Log[36]/Log[2] == 77.5489
Run Code Online (Sandbox Code Playgroud)
基数为2位数.当然,这正是您在问题中所拥有的.您只需将最终答案四舍五入到下一个整数即可.
当然,我不确定为什么你似乎得到了一些结果.