java - 使用老式方式将整数转换为二进制

标签 java binary

我知道在 Java 中使用 System.out.println(Integer.toBinaryString(num)); 来实现这一点非常容易

但是,我想使用循环来执行此操作,我尝试了此操作,但顺序相反。我该如何解决这个问题:

public class Main {

  public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    int num = in.nextInt();

    while (num >= 2) {

      System.out.print(num % 2);

      num = (int) num / 2;
    }

    System.out.println(num);
  }
}

例如;

输入数字=8

打印0001但一定是1000相反。

最佳答案

使用字符串存储结果:

String binaryString = Integer.toString(num % 2);
while (num >= 2) {
    num = (int) num / 2;
    binaryString = Integer.toString(num % 2) + binaryString;
}
System.out.println(binaryString);

关于java - 使用老式方式将整数转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42650695/

相关文章:

c++ - 整数到由位组成的 bool 数组,C++中最有效的方法?

binary - 学习二进制和将 PHP 与二进制结合使用有哪些好的资源?

java - 将二进制字符串转换为二进制

java - 如何确认同一任务是否在多个服务器实例上完成

java - Eclipse 处理程序参数

java - 如何在循环中访问对象字段?

java - 检查 checkBoxPreference 是否为 "true"

C中十进制数和二进制数的转换

java - LongPress 可以在 move 事件后触发吗?

mysql - MYSQL 中的子字符串二进制数据