简单的十进制到二进制Java



如何将整数(十进制)转换为二进制?我正在学习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);
    }
}

最新更新