2012-01-26 135 views
0

我怎样才能确保从int转换后的二进制显示在4,8,12 ...小数位?java 4位小数位的二进制

0000 
0001 
0010 
0011 
0100 
0101 
0110 

请咨询..

public int binary(int n) 
{ 

if (add > count) 
{ 
    System.out.println("break"); 
    return 0; 
} 
else 
{ 

    sb=Integer.toBinaryString(add); 
    num = Integer.parseInt(sb); 
    add++; 
} 
while (sb.length()%2==0) 

{ temp = sb; 
    sb = ""; 
    sb = "0" + temp; 
} 
    System.out.println(sb); 
    return binary(add); 
} 
+0

你问的是如何填零吗? – Kal

+0

我不确定你到底在问什么 – Alex

+0

二进制的dec 0的结果显示是“0”,我希望它是在“0000”....所以像dec 12在二进制中它显示“00011000”而不是“1100” – knn

回答

0

这是你想要的吗?

String s = Integer.toBinaryString(yourInt); 
     for (int i = 1; i <= s.length() % 4; i++) { 
      s = "0" + s; 
     } 
+0

是的,谢谢你! – knn

0

这种方式更简单。确保该值恰好是5位长,并放下最重要的位。

String s = Integer.toBinaryString(n & 0xF | 0x10).substring(1); 
+0

指出,我也会测试它。 – knn