java - 在 32 位二进制数的开头添加零。

标签 java

我有一个程序可以将十进制数转换为二进制数。 我希望二进制表示有32位,所以经常需要在二进制表示的开头加0。我怎样才能实现它?

示例:

 decimal: 
   9999999
 binary:
   00000000  01001100  01001011  00111111

这是我已经拥有的代码: 代码:

class Binaer    {

    public static void main(String [] args) {
        java.util.Scanner scanner = new java.util.Scanner(System.in);

        long a = scanner.nextLong();

        while ( a != 0) {
            System.out.println(Integer.toBinaryString(a));
        }
    }
}

最佳答案

简单,只需使用String.format:

public static void main(String[] args) throws InterruptedException {
    final int i = 7;
    final String s = String.format("%32s", Integer.toBinaryString(i)).replace(' ', '0');
    System.out.println(s);
}

第一位 - String.format("%32s", Integer.toBinaryString(i)) - 将 int 格式化为二进制 String 从开头填充到 32 个字符。第二位 - replace(' ', '0') - 将前导空格替换为零。

关于java - 在 32 位二进制数的开头添加零。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20907872/

相关文章:

java - 测试线程代码java

java - 如何使用 Google Sign in 授权 Youtube Data api 请求?

java - 无法在java中使用两个调用函数

java - 以节点集作为外部参数的 XSLT

java - java读取文本文件并将数字存储在不同的数组中

java - 我可以在 Android 中以编程方式滚动 ScrollView 吗?

java - Lock 是否保证 happens-before 关系?

java - 使用java在csv中插入空行

java - 为什么 opencsv 在写入文件时大写 csv header

java - 运行 python -m http.server XXXX 是否安全