2017年09月07日 15:10:17 perfectnihil 阅读数:365
上篇文章讲了如何通过String的
format BigInteger的方式获取完整32位int字符串
其实还有其他方法可以是实现这样的需求
方法二
public static void main(String args[]){
int a = 1;
System.out.println(getFullBinaryString(a));
}
public static String getFullBinaryString(int num){
String s = Integer.toBinaryString(num);
String format = String.format("%32s", s);
format = format.replaceAll(" ","0");
return format;
}
打印结果如下:
0000 0000 0000 0000 0000 0000 0000 0001
这种方法的思路是,利用format字符串固定好长度,左边空余
可以补空格的这个特性,先把空格留出来,然后替换为0。
这种方式比较简单。
方法三
之前的方法都是通过format的方式来完成我们的需求
我们换种方式
public static void main(String args[]){
int a = 1;
System.out.println(getFullBinaryString(a));
}
public static String getFullBinaryString(int num){
String result = Integer.toBinaryString(num);
int count = 32-result.length();
for (int i = 0;i<count;i++){
result=0+result;
}
return result;
}
打印结果
0000 0000 0000 0000 0000 0000 0000 0001
这种方式比较好理解,也比较简单,只不过一直拼接字符串
稍微耗费了点性能,换成StringBuilder会比较好
32位整数转二进制全0补位
本文介绍了两种将32位整数转换为完整的32位二进制字符串的方法。第一种使用String.format和replaceAll进行字符串格式化和填充,第二种通过循环前缀0来实现。这两种方法都能确保输出的二进制字符串长度固定为32位。
1813

被折叠的 条评论
为什么被折叠?



