-2

数値をバイナリから基数 4 に変換するにはどうすればよいwithout using extra spaceですか? たとえば、バイナリが 1010 の場合、基数 4 では 22 になりますか? 組み込み関数でアルゴリズムを実行するのではなく、アルゴリズムを使用したいと思います。出力として文字列を生成する必要がないという条件を追加するとどうなりますか。そのためには、指定された文字列スペースを使用する必要があります。

4

2 に答える 2

2

Java の Integer クラスには、この機能が組み込まれています (このSO answerをチェックしてください)。これは、 parseInt()およびtoString()の radix プロパティと呼ばれます。これはCharacterクラスのMINMAX基数値の間の基数値に限定されていることを理解することが重要です。

あなたの質問に対して、これを行うことができます:

int value = Integer.parseInt("1010", 2); //From Binary
String base4value = Integer.toString(value, 4); //To base 4
于 2012-10-09T18:20:54.407 に答える
2

はい、2 進数の 1010 は 4 進数の 22 です。4 は 2 のべき乗であるため、変換は単純に 10 = 2、10 = 2 -> 22 です。1 バイトが 2 つの 16 進数であるのと同様です。

于 2012-10-09T18:41:36.147 に答える