当前位置: 首页 > 图文教程 > Java技术 > Java基础 > Java基础:小编教大家十进制数转十六进制数的算法

Java基础
java基础:小编浅谈java对象
Java基础:孙鑫谈Java中文乱码问题产生原因分析(一)
Java基础:孙鑫谈Java中文乱码问题产生原因分析(二)
Java基础:小编谈JDBC
Java基础:小编详谈Java编码规则并不是老生常谈
Java基础:小编详谈AOP概念
Java基础:小编谈java多维数组
Java基础:小编谈Javascript之DOM的使用(25条)
Java基础:小编杂谈动态语言
Java基础:程序员之家七月份Java基础总结
Java基础:XHTML中css+div布局(经典8条)
Java基础:小编浅谈Spring基于三大模板的Web表示层技术
Java基础:浅谈多线程那点事
Javai基础:浅谈封装的那些事
Java基础:小编浅谈JavaScript中自定义函数那些事
Java基础:小编谈JavaScript中使用原型来创建对象
Java基础:CSS那些事
Java基础:小编对JavaScript的一些认识
Java基础:小编浅谈JavaScript与Java区别何在
Java基础:小编谈继承的语法

Java基础:小编教大家十进制数转十六进制数的算法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-26   浏览: 441 ::
收藏到网摘: n/a

本例小编将介绍十进制数转十六进制数的算法。虽然是很基础的东西,但是也希望对大家有所帮助。因为Java基础很重要。

   十进制数转换为十六进制数的方法与以上两种的转换方法相似,不同之处除了除数改为16外,还需要将余数为10-15的数改为A-F的形式。例如,十进制数为2604,则计算十六进制数的方法如下:

   2604/16=162(商)…….12(余数)//余数12对应C;商大于0,则继续除以6

   162/16=10(商)……..2(余数)//余数为2;商大于0,则继续除以6

   10/16=0(商)………10(余数)//余数10对应A;商等于0,结束。

   所以2604十六进制数A2C

   代码如下:

   //十进制转十六进制数

   Public string DtoX(int d)

   {

     String x=””;

     If(d<16)

     {

        x=chang(d);

     }

     Else

     {

        Int c;

        Int s=0;

        Int n=d;

        While(n>=16)

        {

           s++;

           n=n/16;

        }

      String [] m=new string[s];

      Int i=0;

      do

       {

           c=d/16;

           m[i++]=change(d%16);//判断是否大于10,如果大于10,则转换为A-F的格式

           d=c

       }while(c>=16);

       x=chang(d);

       for(int j=m.Length-1;j>=0;j--)

       {

           x+=m[j];

       }

     }

      return x;

   }

//判断是否为10-15之间的数,如果是则进行转换

Public string chang(int d)

{

   String x=””;

   Switch(d)

   {

     Case10:

       x=”A”;

       break;

     Case11:

       x=”B”;

       break;

     Case12:

       x=”C”;

       break;

Case13

       x=”D”;

       break;

Case14:

       x=”E”;

       break;

Case15:

       x=”F”;

       break;

   default:

       x=d.ToString();

      break;

   }

  return x;

}