从 10 进制转换为 2 进制

RNY*_*RNY 2 java binary converters

我正在尝试将基数为 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);
   }  
   }
Run Code Online (Sandbox Code Playgroud)

小智 12

Java 有一个内置方法可以做到这一点:

\n\n
Integer.toString(int\xc2\xa0i, int\xc2\xa0radix);\n
Run Code Online (Sandbox Code Playgroud)\n\n

在哪里

\n\n
    \n
  • i是你的十进制数,并且
  • \n
  • radix是你想要的基础,在你的情况下,2。
  • \n
\n\n

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

\n