Binary 二进制到基4

Binary 二进制到基4,binary,Binary,如何在不使用额外空间的情况下将数字从二进制转换为以4为基数的?例如,如果二进制是1010,那么它在基数4中是22?我希望使用该算法,而不是通过一些内置函数来实现,如果我添加一个不必生成任何字符串作为输出的条件,会怎么样。我必须使用给定的字符串空间来完成此操作。Java的Integer类内置了此功能(签出此功能)。它被称为和的基数属性。请注意,重要的是要理解,这仅限于类中a和基数值之间的基数vlaues,因此不要期望不费吹灰之力就将数字转换为基数1024 对于您的问题,您可以这样做: int va

如何在不使用额外空间的情况下将数字从二进制转换为以4为基数的
?例如,如果二进制是1010,那么它在基数4中是22?我希望使用该算法,而不是通过一些内置函数来实现,如果我添加一个不必生成任何字符串作为输出的条件,会怎么样。我必须使用给定的字符串空间来完成此操作。

Java的Integer类内置了此功能(签出此功能)。它被称为和的基数属性。请注意,重要的是要理解,这仅限于类中a和基数值之间的基数vlaues,因此不要期望不费吹灰之力就将数字转换为基数1024

对于您的问题,您可以这样做:

int value = Integer.parseInt("1010", 2); //From Binary
String base4value = Integer.toString(value, 4); //To base 4

是的,二进制中的1010是基数4中的22。这很简单,因为4是2的幂,因此转换为10=2,10=2->22。就像一个字节是两个十六进制数字一样。

我尝试从最后一个表示最低有效位开始,但如果不使用额外的空间,我就无法做到这一点。