java吧 关注:1,243,789贴子:12,717,582
  • 10回复贴,共1

关于10进制转其他进制的方法

只看楼主收藏回复

上次面试,让我写10进制转7进制
关于进制转换我一直很少在意,我就说我没做过,不过我可以试试,不过当时我真不确定能做出来
结果他又改变主意了,让我做其他程序了
今天突然想起进制转换问题,又想了下,答案一下就出来了
现在我关于10进制转任何进制都没有压力了
其实很简单,我发两个demo,一看就明白了
一个10进制转7进制和一个10进制转16进制


IP属地:重庆1楼2013-08-18 21:44回复
    10进制转7进制
    package com.wxq.test;
    public class TenToSeven {
    public static void main(String[] args) {
    System.out.println(change(49));
    }
    public static String change(int number){
    StringBuffer buf=new StringBuffer();
    for(;number>=7;){
    buf.insert(0,number%7);
    number=number/7;
    }
    buf.insert(0,number%7);
    return buf.toString();
    }
    }


    IP属地:重庆2楼2013-08-18 21:45
    回复
      10进制转16进制
      package com.wxq.test;
      public class TenToSixteen {
      public static void main(String[] args) {
      System.out.println(change(36));
      }
      public static String change(int number) {
      char[] c = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
      'B', 'C', 'D', 'E', 'F' };
      StringBuffer buf=new StringBuffer();
      for(;number>=16;){
      buf.insert(0, c[number&15]);
      number=number/16;
      }
      buf.insert(0, c[number&15]);
      return "Ox"+buf.toString();
      }
      }


      IP属地:重庆3楼2013-08-18 21:46
      回复
        jdk里面不是封装好了么


        IP属地:广东来自手机贴吧4楼2013-08-18 21:49
        收起回复
          小数部分呢?
          十进七,小数部分难道是乘7取个位?
          有意思没?


          5楼2013-08-18 22:14
          收起回复