Java基礎系列—-5、Java函數執行個體——進位轉換

來源:互聯網
上載者:User
樸素法:十進位-->二進位

/*十進位-->二進位模2取餘逆序*/public static void toBin(int num){StringBuffer sb=new StringBuffer();while(num>0){sb.append(num%2);num=num/2;}System.out.println(sb.reverse());//反轉字串}

樸素法:十進位-->十六進位

/*十進位-->十六進位每次取二進位的後四位轉化*/public static void toHex(int num){StringBuffer sb=new StringBuffer();for(int x=0;x<8;x++)//int 是4個8位,0000-0000 0000-0000 0000-0000 0000-0000{int temp=num & 15;//和1111與操作,擷取最後四位二進位if(tem>9)sb.append((char)(temp-10+'A'));   //超過9就轉換成字母elsesb.append(temp);num=num>>>4;   //右移4位}System.out.println(sb.reverse());}

查表法:十進位-->二進位

/*查表法 十進位-->二進位 */public static void toBin(int num){//定義二進位的表char [] chs={'0','1'};//定義一個臨時儲存容器。char[] arr=new char[32];int pos=arr.length;while(num!=o){int temp=num&1;arr[--pos]=chs[temp];num=num>>>1;}for(int x=pos;x<arr.length;x+){System.out.print(arr[x]);}}

查表法:十進位-->十六進位

/*查表法 十進位-->十六進位0  1  2  3  4  5  6  7  8  9  A   B  C  D   E  F   ==十六進位中的元素0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15  */public static void toHex(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 pos=arr.length;while(num!=0){int temp= num & 15;arr[--pos]=chs[temp];   //從數組的最後位置開始儲存num =num >>>4;}for(int x=pos;a<arr.length;x++){System.out.print(arr[x]+',');}}

查表法最佳化:抽出公用部分

//抽出的公用部分public static void trans(int num,int base,int offset){if(num==0){System.out.println(0);return;}char [] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};char[] arr=new char[32];int pos=arr.length;while(num!=0){int temp=num&base;arr[--pos]=chs[temp];num=num>>>offset;}for(int x=pos;x<arr.length;x++){System.out.print(arr[x]);}}/*十進位-->二進位*/public static void toBin(int num){trans(num,1,1);}/*十進位-->八進位*/public static void toOctal(int num){trans(num,7,3);}/*十進位-->十六進位*/public static void toHex(int num){trans(num,15,4);}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.