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