如何将整数(十进制)转换为二进制?我正在学习Java。有下面的代码。任何建议吗?谢谢!
public static int decimalToBinary(int number) {
int result = 0;
while(number > 0){
int mod = number % 2;
result = result * 1 + mod;
number /= 2;
}
return result;
}
您可以使用Integer.toBinaryString()方法如下,
int n = 100;
System.out.println(Integer.toBinaryString(n));
Integer.toBinaryString()接受int作为参数并返回String,因此您还可以执行以下操作:
int n=100;
String s = Integer.toBinaryString(n);
System.out.println(s);
这将把它打印到屏幕上,但是您也可以很容易地将它赋值给一个变量。
import java.util.Scanner;
public class ReversedBinary {
public static void main(String[] args) {
int number;
Scanner in = new Scanner(System.in);
System.out.println("Enter a positive integer");
number = in.nextInt();
if (number < 0) {
System.out.println("Error: Not a positive integer");
} else {
System.out.print("Convert to binary is:");
//System.out.print(binaryform(number));
printBinaryform(number);
}
}
private static void printBinaryform(int number) {
int remainder;
if (number <= 1) {
System.out.print(number);
return; // KICK OUT OF THE RECURSION
}
remainder = number %2;
printBinaryform(number >> 1);
System.out.print(remainder);
}
}