当前位置: 代码迷 >> J2SE >> 请教上关于指定位数的输出二进制格式的数
  详细解决方案

请教上关于指定位数的输出二进制格式的数

热度:9623   发布时间:2013-02-25 00:00:00.0
请问下关于指定位数的输出二进制格式的数
我想实现的是一个这样功能:

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 吗 ?
------其他解决方案--------------------------------------------------------
引用:
Java code?123456789101112131415public static void main(String[] args) throws Exception {        System.out.println(parseToBinaryString(10));        System.out.println(parseToBinaryString(……

formater我实现可以按一定的宽度输出 但是高位不会自动补0
你的方法可行,但总觉得有API可以实现
  相关解决方案