如何将数字从二进制转换为基数4 without using extra space
?对于例如如果二进制是1010那么它将在基数4中为22?我想有算法,而不是由一些内置函数做的,如果我添加一个条件,我不必生成任何字符串作为输出。我必须使用给定的字符串空间来做到这一点。
答案 0 :(得分:2)
Java的Integer类内置了此功能(请查看此SO answer)。它被称为parseInt()和toString()的基数属性。请注意,了解这一点仅限于MIN类中MAX和Character基数值之间的基数值,这一点很重要,所以不要指望将数字转换为1024的基数努力。
对于你的问题,你可以这样做:
int value = Integer.parseInt("1010", 2); //From Binary
String base4value = Integer.toString(value, 4); //To base 4
答案 1 :(得分:2)
是的,二进制1010在基数4中是22.这很简单,因为4是2的幂,因此转换只是10 = 2,10 = 2 - > 22.就像一个字节是两个十六进制数字一样。