在Java中将Decimal转换为二进制

时间:2015-03-29 16:42:55

标签: java binary decimal digits

我正在尝试使用Java从用户的输入转换十进制到二进制数,但到目前为止,我遇到了错误,我不知道为什么。我究竟做错了什么?不介意命名,最终我想在不使用if和while语句的情况下将十进制转换为二进制。也没有使用decimaltobinary字符串。

非常感谢。

包r

public static void main(String[] args) {
int number; 
int remainder;
Scanner in = new Scanner(System.in);

System.out.println("Enter a positive integer");
number=in.nextInt();
remainder= number %2; 
System.out.print(remainder);

{ 
return null;

这是我到目前为止所拥有的。

2 个答案:

答案 0 :(得分:0)

试试这个:

String binaryString = Long.toBinaryString(Double.doubleToRawLongBits(yourDecimalNumber));

其中yourDecimalNumber是要转换为二进制的十进制变量的名称。

您也可以使用for循环和按位运算,而不使用任何if或while语句,如下所示:

int number = 10;
String binaryString = "";
final int intBitSize = 32; // 32 is the number of bits in an int.

for(int i=0; i<intBitSize; i++)
{
    binaryString = String.valueOf(number&1) + binaryString;

    number = number >>> 1;
}

System.out.println(binaryString);

答案 1 :(得分:0)

这是将十进制转换为二进制的方法:

使用for循环:

public class DecimalToBinary {

    public void printBinaryFormat(int decimalNumber){
    int remainder = 0;
    for (int i = 1; decimalNumber > 0; i++) {

        remainder = decimalNumber % 2;    
                decimalNumber /= 2;
                System.out.print(remainder);
            }
        }

    public static void main(String a[]){
        DecimalToBinary dtb = new DecimalToBinary();
        dtb.printBinaryFormat(25);
    }
}

使用while循环:

public class DecimalToBinary 
{

    public void printBinaryFormat(int number){
        int binary[] = new int[25];
        int index = 0;
        while(number > 0){
            binary[index++] = number%2;
            number = number/2;
        }
        for(int i = index-1;i >= 0;i--){
            System.out.print(binary[i]);
        }
    }

    public static void main(String a[]){
        DecimalToBinary dtb = new DecimalToBinary();
        dtb.printBinaryFormat(25);
    }
}
希望我能帮到你。

快乐编码:D