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

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

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

0000000000000001

0000000000000010

0000000010000000

0000000100000000

我试过

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

它为左填充留出了空间:

`               1'

如何放置0是用来填充物的。我在里面找不到格式化程序..还有别的办法吗?

P.S.这个职位


慕虎7371278
浏览 1071回答 3
3回答

跃然一笑

我认为这是一个不太理想的解决方案,但你可以String.format("%16s", Integer.toBinaryString(1)).replace(' ', '0')

HUWWW

在java.util.For事宜中没有内置的二进制转换,我建议您要么使用String.置换将空格字符替换为零,如下所示:String.format("%16s", Integer.toBinaryString(1)).replace(" ", "0")或实现自己的逻辑,将整数转换为二进制表示,并在这,这个所以。或者,如果确实需要传递数字以格式化,则可以将二进制表示转换为BigInteger,然后用前导零对其进行格式化,但这在运行时非常昂贵,如下所示:String.format("%016d", new BigInteger(Integer.toBinaryString(1)))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java