public class a{ public static void main (String []args) { ct(13); } public static void ct(int num) { if (num>0) { ct(num/2); if (num%2>0) System.out.print(1); else System.out.print(0); } } }
有个现成的东西可以用,用BigInt类,吧int封装进去,然后用toByteArray的那个方法
public class Test{ public static void main(String[] args){ int i=101; System.out.println(Integer.toBinaryString(i)); } }
public static void main (String []args)
{
ct(13);
}
public static void ct(int num)
{
if (num>0)
{
ct(num/2);
if (num%2>0)
System.out.print(1);
else
System.out.print(0);
}
}
}
public class Test{
public static void main(String[] args){
int i=101;
System.out.println(Integer.toBinaryString(i));
}
}
是不是问题没说清楚?
如果是转成2进制字符串的话,下面的简单代码就可以。public String toBinStr(int x){
StringBuffer rst = new StringBuffer(32);
for(int i=0;i<32;i++){
rst.append(x<0?1:0);
x <<=1 ;
}
return rst.toString();
}
如果说,“2进制数”的话,在计算机里一直都是2进制数,而且只有2进制数。 10进制,16进制只是人书写的时候格式不同。