Я пытаюсь создать java-программу, в которой пользователь вводит десятичное число, и затем он преобразуется в двоичный. это то, что у меня есть до сих пор, но цикл while только петли один раз и дает мне только 0, когда я вводил 8. Я знаю, что 8 в двоичном формате 1000, поэтому я не понимаю, что я делаю неправильно. Мне нужно, чтобы кодирование было простым. пожалуйста, помогите спасибоdecimal to binary java program
import java.util.Scanner;
public class binary
{
public static void main (String [] args)
{
Scanner scan = new Scanner(System.in);
int userNum = 0;
int binary = 0;
double newNum = 0;
int count = 0;
System.out.print("Enter a positive base 10 number: ");
userNum = scan.nextInt();
System.out.println();
for(; (Math.pow(2,count) <= userNum); count++)
{
}
while(!(count == 0))
{
if(userNum/Math.pow(2,count) != 0)
{
binary = userNum/(int)Math.pow(2,count);
System.out.print(binary);
}
userNum %= Math.pow(2,count);
count--;
userNum %= (int)Math.pow(2,count));
}
}
}
Это полезная функция, но это всегда хорошо, чтобы знать, как работают вещи под капотом - в этом случае, как база работает преобразование. – jackarms
@jackarms По крайней мере, это полезно для проверки результата. –