JAVA 學習 進位轉換

來源:互聯網
上載者:User

標籤:java   編程   

寫一個函數trans();

   1 能夠進行十進位轉二進位

   2 能夠進行十進位轉八進位

   3 能夠進行十進位轉十六進位

   4 封裝函數

代碼實現:

class ArraryTest {public static void main(String[] args) {int num=60;String str_Bin=toBinary(num);String str_Oct=toOctal(num);String str_Hex=toHex(num);System.out.println("自己定義的轉換");System.out.println("bin: "+str_Bin);System.out.println("oct: "+str_Oct);System.out.println("hex: "+str_Hex);System.out.println("系統內建的轉換");System.out.println(Integer.toBinaryString(60));System.out.println(Integer.toOctalString(60));System.out.println(Integer.toHexString(60));}///十進位轉十六進位public static String toHex(int num){return "0x"+trans(num,15,4);}    ///十進位轉二進位public static String toBinary(int num){return trans(num,1,1);}    ///十進位轉八進位public static String toOctal(int num){return "0"+trans(num,7,3);}///調用trans函數根據需求進行轉換public static String trans(int num,int base,int offset){///base 按位與的數  offset 右移位元if(num==0)return "0";        ///打表 完成進位轉換char []chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};char []arr=new char[32];int index=arr.length;///具體操作while(num!=0){int temp=num&base;arr[--index]=chs[temp];num=num>>>offset;}return toString(arr,index);}///數字轉字串函數public static String toString(char []arr,int pos){String temp="";for(int i=pos;i<arr.length;++i){temp+=arr[i];}return temp;}}


運行結果:


我的第一個JAVA程式感覺還好

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

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.