Преобразование десятичного числа в двоичное с использованием рекурсии - PullRequest
1 голос
/ 19 октября 2019

Я хочу преобразовать десятичное число в двоичное число, используя рекурсию в Java. Я очень старался, но не смог этого сделать. Вот мой код:

public class DecimalToBinary {


    public static void main(String[] args) {
        System.out.println(conversion(2));
    }

    public static int conversion(int n) {
         return reconversion(n);
    }

    public static int reconversion(int n) {
        if(n <= 0)
            return 0;
        else {

            return  (int) (n/2 + conversion(n/2));

        }
    }

}

1 Ответ

2 голосов
/ 19 октября 2019

Целочисленные значения уже в двоичном виде. Тот факт, что они отображаются в виде цифр от 0 до 9 при их печати, объясняется тем, что они преобразуются в строку десятичных цифр. Поэтому вам нужно вернуть строку двоичных цифр, например, так.

   public static String conversion(int n) {
      String b = "";
      if (n > 1) {
         // continue shifting until n == 1
         b = conversion(n >> 1);
      }
      // now concatenate the return values based on the logical AND
      b += (n & 1);
      return b;

   }
...