使用JAVA完成十進位到二進位八進位十六進位的轉換

來源:互聯網
上載者:User

標籤:進位轉換

/*

十六進位的轉換

要求:

1.從鍵盤輸入資料(有輸入提示)   

2.用自訂方法

增加:

對輸入的數,進行8進位和2進位的轉換。

*/


import java.util.Scanner;

public class ArrayTest{

public static void main(String[] args){

System.out.print("請輸入要轉換為16進位的數字:");

Scanner scan=new Scanner(System.in);

int num = scan.nextInt();

System.out.print("轉換後的16進位數為:");

getHex(num);

System.out.println();

System.out.print(" 轉換後的2進位數為:");

getBinary(num);

System.out.println();

System.out.print(" 轉換後的8進位數為:");

getOctal(num);

}

//getHex方法。  完成16進位的轉換功能。

//start getHex;

public static void getHex(int num){

char[] chs={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,

‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘};

char[] arr = new char[8];

int p = arr.length;//int類型在記憶體中是4位元組,32個2進位位,對應的十六進位位是8. 每4位對應一位16進位數。

if(num == 0 ){

System.out.print("0");

return ;//此處的return ;當接收的資料為0的時候,結束此方法。

}

while(num != 0 ){

int x = num & 15;

arr[--p] = chs[x];//在存數的過程中,從最高位開始存。 也就是最先運算出來的數字,存到數組的最後一位。

num = num >>> 4;//將num向右移4個2進位位。  >>>代碼無符號右移。>>代表有符號有移。

}

for(int i=p;i<arr.length;i++){   //輸出過程是從有效位開始輸出。帶有0不輸出

System.out.print(arr[i]);

}

}

//end getHex

//start getOctal

public static void getOctal(int num){

char[] chs={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘};

char[] arr=new char[11];

int p=arr.length;

if(num == 0){

System.out.print("0");

return ;

}

while(num != 0){

int n=num & 7;

arr[--p] = chs[n];

num = num >>> 3;

}

for(int i=p;i<arr.length;i++){

System.out.print(arr[i]);

}

}

//end getOctal

//start getBinary

public static void getBinary(int num){

char[] chs={‘0‘,‘1‘};

char[] arr=new char[32];

int p=arr.length;

if(num == 0){

System.out.print("0");

return ;

}

while(num !=0){

int n=num & 1;

arr[--p]=chs[n];

num = num >>>1;

}

for(int i=p;i<arr.length;i++){

System.out.print(arr[i]);

}

}

//end getBinary

}


使用JAVA完成十進位到二進位八進位十六進位的轉換

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.