黑马程序员技术交流社区

标题: 十进制转其他进制,希望能有用 [打印本页]

作者: 呆呆呆呆孔    时间: 2015-4-29 21:55
标题: 十进制转其他进制,希望能有用
进制方面的内容一直在考点占一席之地,大家看看


  1. class TransDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //十进制转二进制
  6.                 toBin(6);

  7.                 //十进制转八进制

  8.                 toOctal(60);
  9.                 //十进制转十六进制
  10.                 toHex(60);
  11.         }

  12.         //十进制转换为二进制
  13.         public static void toBin(int num)
  14.         {
  15.                 trans(num,1,1);
  16.         }
  17.         //十进制转换为八进制
  18.         public static  void toOctal(int num)
  19.         {
  20.                 trans(num,7,3);
  21.         }

  22.         //十进制转换为十六进制
  23.         public static void toHex(int num)
  24.         {
  25.                 trans(num,15,4);
  26.         }
  27.         //进制转换
  28.         public static void trans(int num,int base,int offset)
  29.         {
  30.                 //定义一个以16进制码组成的字符数组
  31.                 char[] chs =
  32.                         {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

  33.                 //定义一个字符数组的容器,用于存储计算的结果
  34.                 char[] arr = new char[32];
  35.                
  36.                 //定义一个指针
  37.                 int pos = arr.length;
  38.                
  39.                 //对输入的数进行判断,如果为0,就返回不再执行,如果非0就进行与操作和位元算操作
  40.                 if(num==0)
  41.                 {
  42.                         System.out.println(num);
  43.                         return;
  44.                 }
  45.                 while(num!=0)
  46.                 {
  47.                         int temp = num&base;
  48.                         arr[--pos] = chs[temp];
  49.                         num = num>>>offset;
  50.                 }

  51.                 //对arr数组进行遍历
  52.                 for(int x=pos;x<arr.length;x++)
  53.                 {
  54.                        
  55.                         if(x!=arr.length-1)
  56.                         {
  57.                                 System.out.print(arr[x]+",");

  58.                         }
  59.                         else
  60.                         {
  61.                                 System.out.println(arr[x]);       
  62.                         }
  63.                 }
  64.         }
  65.        
  66.        
  67. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2