请问下关于指定位数的输出二进制格式的数我想实现的是一个这样功能:int i 10System.out.println(Intege
请问下关于指定位数的输出二进制格式的数
我想实现的是一个这样功能:
int i = 10;
System.out.println(Integer.toBinaryString(i));
//输出为
//1010
//可否可一个方法可以实现输出10位的二进制数 高位补0
//即输出为
//0000001010
//0001001010
//0000000010
[最优解释]
public static void main(String[] args) throws Exception {
System.out.println(parseToBinaryString(10));
System.out.println(parseToBinaryString(74));
System.out.println(parseToBinaryString(3));
}
private static String parseToBinaryString(int value){
String str = Integer.toBinaryString(value);
StringBuffer stringBuffer = new StringBuffer();
for(int i = 0; i < 10 - str.length(); i ++)
stringBuffer.append('0');
stringBuffer.append(str);
return stringBuffer.toString();
}
也许用formater可以直接实现?
没研究过
[其他解释]
//0001001010 这个是106吗?
//0000000010 这个是2 吗 ?
[其他解释]
formater我实现可以按一定的宽度输出 但是高位不会自动补0
你的方法可行,但总觉得有API可以实现
