当源整数的大小是任意的时,是否有任何有效的数字系统之间的转换算法?
例如,假设存在一个整数数组{1,4,8},其为十进制格式的148作为输入.它可能以十六进制格式转换为{9,4},或以八进制转换为{2,2,4},或以二进制格式转换为{1,0,0,1,0,1,0,0},或仅{以1234-ary格式或其他东西.
当实际值可以用机器支持的字大小表示时,这很简单.但是当它达到任意大小时,我找不到比O(n ^ 2)更好的有效方法.
除以底数,推回模块,冲洗并重复,直到商!= 0。
例如,将 148 转换为基数 16
148 / 16 = 9 r 4
9 / 16 = 0 r 9
Run Code Online (Sandbox Code Playgroud)
所以,148 的十六进制是 0x94。这不应该花这么长时间。