我正在尝试将以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。


它将返回一个二进制字符串。

08-19 18:20