如何在java中获得整数的0填充二进制表示?

问题描述

我认为这是一个次优的解决方案,但你可以这样做

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

解决方法

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

0000000000000001
0000000000000010
0000000010000000
0000000100000000

我试过

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

它为左填充放置空间:

`               1'

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