1. 程式人生 > >以二進位制形式輸出一個十進位制數 利用for迴圈和移位以及&運算

以二進位制形式輸出一個十進位制數 利用for迴圈和移位以及&運算

以二進位制形式輸出一個十進位制數
利用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();
	}
}