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

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

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

& 和 >> 的計算方式想必大家都知道,>> 相當於將數進行 /2 運算,&,1&1=1,0&*=0;

不多說,直接上程式碼:

package com.cyx.ex1;
  2 import java.util.Scanner;
  3 
  4 public class Change{
  5         public static void main(String[] args){
  6                 System.out.print("請輸入一個整數:"
); 7 Scanner scan=new Scanner(System.in); 8 while(scan.hasNext()){ 9 int num=scan.nextInt(); 10 System.out.println("輸入值:"+num); 11 System.out.println(num+"的二進位制為:"+toBinary(num)); 12 System.exit(0); 13
} 14 } 16 17 public static String toBinary(int num){ 18 String binary=""; 19 if(num==0){ 20 return "0"; 21 } 22 for(int n=num;n>0;n/=2){ 23 //將輸入值與1進行與運算 24 //比如4的二進位制數為:0100
25 //與1(0001與運算後得到 0 26 //將4(0100)向右位移四次並且與1與運算後得到0010 27 int bit = num&1; 28 binary = binary+bit; 29 num = num >>1; 30 } 31 //最後將得到的字串binary=0010倒序輸出即可 32 return new StringBuffer(binary).reverse().toString(); 33 } 34 35 }

結果展示:
這裡寫圖片描述