为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕虎7371278 2019-07-05 14:50:28
如何在java中获得整数的0填充二进制表示?例如,对于1, 2, 128, 256输出可以是(16位数字):0000000000000001000000000000001000000000100000000000000100000000我试过String.format("%16s", Integer.toBinaryString(1));它为左填充留出了空间:`               1'如何放置0是用来填充物的。我在里面找不到格式化程序..还有别的办法吗?P.S.这个职位
查看完整描述

3 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

我认为这是一个不太理想的解决方案,但你可以

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


查看完整回答
反对 回复 2019-07-05
?
HUWWW

TA贡献1874条经验 获得超12个赞

在java.util.For事宜中没有内置的二进制转换,我建议您要么使用String.置换将空格字符替换为零,如下所示:

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

或实现自己的逻辑,将整数转换为二进制表示,并在这,这个所以。或者,如果确实需要传递数字以格式化,则可以将二进制表示转换为BigInteger,然后用前导零对其进行格式化,但这在运行时非常昂贵,如下所示:

String.format("%016d", new BigInteger(Integer.toBinaryString(1)))


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 1057 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信