当源整数的大小是任意的时,有没有有效的算法来进行数制之间的转换?
例如,假设有一个整数数组{1,4,8},它是十进制格式的148作为输入。它可能会转换为十六进制格式的{9,4},或者八进制格式的{2,2,4},或者二进制格式的{1,0,0,1,0,1,0,0},或者只是1234元格式的{148}等等。
当实际值可以用机器支持的字长来表示时,就很简单了。但是当它达到任意大小时,我找不到比O(n^2)更好的有效方法。
发布于 2010-08-23 16:53:04
除以基数,推回模块,冲洗并重复商数!= 0。
因此,例如,以16为基数转换148
148 / 16 = 9 r 4
9 / 16 = 0 r 9因此,十六进制的148是0x94。这应该不会花这么长时间。
https://stackoverflow.com/questions/3545931
复制相似问题