преобразовать десятичную в двоичную - PullRequest
0 голосов
/ 05 марта 2020

Код в основном выполнен, но мой код печатает неправильно, его печать распечатывается как 110, а не 011. Проблема, которую я делаю, требует поменять «110» на «011»

import java.util.Scanner; 

public class LabProgram {   
    public static void main(String[] args) { 

Scanner scan = new Scanner(System.in);


   int num, binaryNum = 0;
   int i = 1, rem;

   num = scan.nextInt();

   while (num != 0)
   {
      rem = num % 2;
      num /= 2;
      binaryNum += rem * i;
      i *= 10;
   }


 System.out.println(binaryNum);
}
}

Ответы [ 3 ]

1 голос
/ 05 марта 2020

Затем используйте строку следующим образом:

   int num = scan.nextInt();

   String s = "";
   while (num != 0) {
    int   rem = num % 2;
      num /= 2;
      s = s + rem; // this concatenates the digit to the string in reverse order.

      // if you want it in normal order, do it ->  s = rem + s;
   }
   System.out.println(s);
0 голосов
/ 05 марта 2020

Вы можете напрямую распечатать каждый двоичный файл di git, не сохраняя его в binaryNum

while (num != 0) {
    System.out.print(num % 2);
    num /= 2;
}

System.out.println();
0 голосов
/ 05 марта 2020

Вы можете просто использовать Integer # toBinaryString (int), чтобы вернуть результат в виде двоичной строки.

        Scanner scan = new Scanner(System.in);

        int value = scan.nextInt();

        System.out.println(Integer.toBinaryString(value));
...