gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 01:44:55 25 4
gpt4 key购买 nike

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

}
}

}

最佳答案

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

}

关于java - 使用递归将十进制转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58465953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com