1. 程式人生 > >Java--- 將十進位制整數轉換為二進位制數

Java--- 將十進位制整數轉換為二進位制數

import java.util.Scanner;                    //程式功能:將十進位制整數轉換為二進位制數

public class Change 
{
    
    public static void main(String[] args) 
    {
        Scanner in = new Scanner(System.in); 
        System.out.print("請輸入一個整數:");    
        int x=in.nextInt();                                      //x為輸入的整數
        int n = 0;                                         //n為每次x%2取得的餘數
        int i = 31;                                         //i為整型陣列長度減一
        int j = 0;                                //j用於判斷輸入的整數是否為負數
        int a[]=new int[32];                               //預設輸出32位二進位制數          
        if (x<0)                                               //判斷輸入值的正負
        {
            x = -x;
            j = 1;
        }
        while(x>0.5)                                 //通過除二取餘轉化為二進位制數                  
        {                                
            n=x%2;                     
            x=(x-n)/2;
            a[i]=n;
            i=i-1;
        }
        if (j==1)
        {
            System.out.print("-");              //當j為1時證明輸入值為負數新增負號
        }
        else
        {
            System.out.print("+");            //當j為零時證明輸入值為正數新增正號
        }
        for (int k = 0; k < 32;)          //巢狀的for語句用於每隔四位輸出一個空格
        {
            for (int l = 0; l < 4; l++)
            {
                System.out.print(a[k]);
                k++;
            }
            if (k!=32)
            {
                System.out.print(" ");
            }
            
        }
        System.out.print("\n");

    }
  
    
}