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

Java基础
Struts+Hibernate数据表示
JSP+MYSQL+Java类优化分页
利用JBuilder 2005 开发Spring
Java程序与C语言的接口
10分钟Hibernate体验
Tomcat配置技巧Top 10
JDBC+Hibernate将Blob数据写入Oracle
Java使用全屏幕模式
Java基础:小编浅谈C#与java的属性区别
Java基础:小编浅谈C#和Java的相似之处
Java基础:小编浅谈C#与java的事件区别
Java基础:小编浅谈C#与java的对象索引机制、指代的区别
Java基础:小编谈Java中获取系统属性
Java基础:浅谈Java Bean与EJB的那些区别
Java基础:Java中对文件读写操作概述
Java基础:Java中安全问题
Java基础:浅谈面向对象应用中的持续性
Java中多线程的实现
多线程使用中的问题
MIME详解

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-26   浏览: 438 ::
收藏到网摘: 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;

}