A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 木木三 中级黑马   /  2015-9-16 22:50  /  384 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
  2. 利用查表法实现进制转换
  3. 思路:
  4. 1,定义16进制的表;
  5. 2,&15查表,StringBuffer添加查表结果;
  6. 3,反向打印StringBuffer.reverse()。
  7. */

  8. class ArrayTest{
  9.         public static void main(String[] args){
  10.                 //60的16进制转换
  11.                 toTrans(60,16,4);
  12.         }
  13.        
  14.         public static void toTrans(int num, int base, int offset){
  15.                 char[] chs = {'0','1','2','3',
  16.                                         '4','5','6','7',
  17.                                         '8','9','A','B',
  18.                                         'C','D','E','F'};
  19.                 StringBuffer sb = new StringBuffer();
  20.                
  21.                 while(num!=0){
  22.                         int temp = num&(base-1);
  23.                         sb.append(chs[temp]);
  24.                         //16进制每4位表示一位,即右移4位
  25.                         num = num >>> offset;
  26.                 }
  27.                 System.out.println(sb.reverse());
  28.         }
  29. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马