思想:十进制数在商不等于零的循环条件下不断除以2并取余数保存。
class ToBinary
{
public static void main(String[] args)
{
toBinary_1(-6);
//System.out.println("Hello World!");
}
//方法1——除以2取余
public static void toBinary(int num){
char[] chs={'0','1'};
char[] arr=new char[32];
int i=0;
while(num!=0){
int temp=num%2;
arr[i++]=chs[temp];
num=num/2;
}
for(int j=i-1;j>=0;j--)
System.out.print(arr[j]);
}
//方法2——&1,右移1位
public static void toBinary_1(int num){
char[] chs={'0','1'};
char[] arr=new char[32];
int i=0;
while(num!=0){
int temp=num&1;
arr[i++]=chs[temp];
num=num>>>1;
}
for(int j=i-1;j>=0;j--)
System.out.print(arr[j]);
}
}