[英]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.