如何使用Integer.toBinaryString来设置java中的位数?

时间:2015-04-09 01:26:06

标签: java digits

我需要修改这两行代码,以便它们始终返回四位二进制数。

    String binary1 = Integer.toBinaryString(t1);
    String binary2 = Integer.toBinaryString(t2);

    String first1 = binary1.substring(0,0);
    String first2 = binary2.substring(0,0);
    String second1 = binary1.substring(1,1);
    String second2 = binary2.substring(1,1);
    String third1 = binary1.substring(2,2);
    String third2 = binary2.substring(3,3);
    String fourth1 = binary1.substring(4,4);
    String fourth2 = binary2.substring(4,4);

是否存在cn控制binary1和binary2

中的位数的方法

P.S。 T1和T2是两个用户子服务的输入。

1 个答案:

答案 0 :(得分:4)

Integer.toBinaryString(int)的Javadoc(部分),

  

此值转换为二进制(基数2)中的ASCII数字字符串,没有额外的前导0

所以,不。您无法使用toBinaryString(int)控制位数。您可以使用String.format(String, Object...)之类的

String binary1 = String.format("%4s", Integer.toString(t1, 2))
    .replace(' ', '0');
String binary2 = String.format("%4s", Integer.toString(t2, 2))
    .replace(' ', '0');