我正在尝试将以10为底的数字转换为以2为底的数字,但是我遇到了问题。运行代码时,我以错误的顺序获取了以2为底的数字。例如,我输入54并得到110110而不是011011的正确值。
import java.util.Scanner;
public class DecimalToBinary
{
public static void main(String arg[]){
int quotient;
int remainder;
Scanner keyboard = new Scanner (System.in);
System.out.println("Please enter a decimal number:");
quotient = keyboard.nextInt();
do {
remainder = quotient % 2;
quotient = quotient / 2;
// String x = String.valueOf(remainder);
// System.out.print(x);
System.out.print (remainder);
} while (quotient != 0);
}
}
最佳答案
Java有一个内置方法可以做到这一点:
Integer.toString(int i, int radix);
哪里
i
是您的十进制数字,并且radix
是您希望使用的基础,在本例中为2。它将返回一个二进制字符串。