一尘不染

如何在Java中获取整数的0填充二进制表示形式?

java

例如,对于1, 2, 128, 256输出可以是(16位):

0000000000000001
0000000000000010
0000000010000000
0000000100000000

我试过了

String.format("%16s", Integer.toBinaryString(1));

它为左填充留出空间:

`     
    1'

如何将0s用作填充。我在Formatter中找不到它。还有另一种方法吗?

PS 这篇文章描述了如何使用左0填充来格式化整数,但不适用于二进制表示形式。


阅读 425

收藏
2020-03-01

共1个答案

一尘不染

我认为这是次佳的解决方案,但是你可以

String.format("%16s", Integer.toBinaryString(1)).replace(' ', '0')
2020-03-01