我有一个程序可以将十进制数转换为二进制数。 我希望二进制表示有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/