繁体   English   中英

使用递归将十进制转换为二进制

[英]Conversion of decimal into binary using recursion

我想使用 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));

        }
    }

}

Integer 值已经是二进制的。 当您打印它们时,它们显示为数字 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;

   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM