java中十进制到二进制的转换
我试图使用Java将用户输入的十进制数转换为二进制数,但到目前为止,我遇到了一些错误,我不知道为什么。我做错了什么?不介意命名,最终我想将十进制转换为二进制,而不使用if和while语句。也不使用十进制二进制字符串 非常感谢 包rjava中十进制到二进制的转换,java,binary,decimal,digits,Java,Binary,Decimal,Digits,我试图使用Java将用户输入的十进制数转换为二进制数,但到目前为止,我遇到了一些错误,我不知道为什么。我做错了什么?不介意命名,最终我想将十进制转换为二进制,而不使用if和while语句。也不使用十进制二进制字符串 非常感谢 包r public static void main(String[] args) { int number; int remainder; Scanner in = new Scanner(System.in); System.out.println("Enter a
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;
这就是我目前所拥有的 试试这个:
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);
int number=10;
字符串binaryString=“”;
最终整数intBitSize=32;//32是整数中的位数。
对于(int i=0;i>>1;
}
System.out.println(二进制字符串);
这是如何将十进制转换为二进制:
使用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我不明白你为什么不想使用if和while语句?我还没有学习if和while语句。我做这个是为了做作业,这是最后一个问题,给我带来了最大的麻烦。所以你想只使用for循环将十进制转换为二进制???你可以通过使用递归概念来实现这一点e参考下面的内容,看起来是一样的:这会起作用,但我不能使用一个字符串将十进制数转换成二进制。我可以使用for循环来获取余数,而不是使用字符串将其转换为二进制数。好的,无论如何,我会把这个答案留在这里,以防它对其他人有用。我花了三个多小时试图弄清楚这个问题问题,到目前为止我什么也没有得到(if和while语句非常严格,可能比for循环更容易理解。我认为使用for循环的唯一方法是使用位运算,这比使用if和while语句复杂得多。@AtifShah看到我更新的答案,它使用for循环,而不使用任何if或while语句作为请求。)这将转换为二进制整数,而不是十进制数。