以二进制形式输出一个十进制数
利用for循环和移位以及&运算
import java.util.Scanner;
public class ToBinary {
private int number;
public void setNumber(int number) {
this.number=number;
}
public int getNumber() {
return number;
}
public ToBinary() {
}
public ToBinary(int number) {
this.number=number;
}
//方法一:使用除余(负数转换失败)
public void toBinary() {
String result="";
// System.out.println(this.getNumber());
for(int i=number;i!=0;i=i/2) {
result=i%2+result;
// System.out.println(result);
}
System.out.println("结果为:"+result);
}
//方法二:使用移位和&运算
public void toBinary2() {
String result="";
int number=this.number;
for(int i = 0;i<32;number>>=1,i++) {
result=(number&1)+result;
// System.out.println(result);
}
System.out.println("结果2为:"+result);
}
//方法三:使用lang包下的Inetger类的toBinaryString方法
public void toBinary3() {
String result=Integer.toBinaryString(number);
System.out.println("结果3为:"+result);
}
public static void main (String[] args) {
System.out.println("请输入需要转换的十进制数:");
Scanner input=new Scanner(System.in);
int i=input.nextInt();
ToBinary tb=new ToBinary(i);
tb.toBinary();
tb.toBinary2();
tb.toBinary3();
}
}