我正在尝试将int转换为二进制,我正在执行代码。
public static String intToBinary16Bit(String strInt) {
String bin = Integer.toBinaryString(strInt);
return String.format("%016d", Integer.parseInt(bin));
}
所以,如果我给予strInt = 0211
而不是它正常工作并给出输出
0000001000010001
。
但是,如果我给予strInt = 4527
而不是投掷NumberFormateException
。
我该如何解决这个问题?
答案 0 :(得分:1)
尝试以下方法,它使用递归进行转换。
private static void toBinary(int number) {
int remainder;
if (number <= 1) {
System.out.print(number);
return;
}
remainder = number % 2;
toBinary(number >> 1);
System.out.println(remainder);
}
答案 1 :(得分:1)
public class A {
public static void main(String[] args) {
int a = Integer.parseInt(args[0]);
System.out.println(a);
int bit=1;
for(int i=0; i<32; i++) {
System.out.print(" "+(((a&bit)==0)?0:1));
bit*=2;
}
}
}
答案 2 :(得分:0)