java十进制数字转十六进制(int类型太大无法转换,把int类型转为Long类型计算)

// 本文介绍的主要是java十进制数字类型转十六进制,由于十进制超出范围的问题。将超出范围的的数字转换为Long类型

 ,然后进行计算,同样可得到结果


package com.java.test;



public class JinZhi{
   public static void main(String args[]){
      JinZhi t = new JinZhi();
      String a = t.t1(1000L);
      System.out.println(a);
   }
   
   
   //把a转成指定进制
   private String t2(int a,int n){
      String str = "";
      //1:用a去除以n,得到商和余数
      int sun = a/n;
      int yuShu = a%n;
      str = ""+shuZhiToZhiMu(String.valueOf(yuShu));
      while(sun > 0 ){
         //2:继续用商去除以n,得到商和余数
         yuShu = sun % n;
         sun = sun / n;         
         //3:如果商为0,那么就终止         
         //4:把所有的余数倒序排列
         str = shuZhiToZhiMu(String.valueOf(yuShu)) + str;
      }
      System.out.println(n+"进制==="+str);
      return str;
   }
   //写一个方法实现:把一个十进制的数转换成为16进制的数
   private String t1(Long a){
      String str = "";
      //1:用a去除以16,得到商和余数
      Long sun = a/(16L);
      Long yuShu = a%16L;
      str = ""+shuZhiToZhiMu(String.valueOf(yuShu));
      while(sun > 0 ){
         //2:继续用商去除以16,得到商和余数
         yuShu = sun % 16;
         sun = sun / 16;         
         //3:如果商为0,那么就终止         
         //4:把所有的余数倒序排列
         str = shuZhiToZhiMu(String.valueOf(yuShu)) + str;
      }
      System.out.println("16进制==="+str);
      return str;
   }
   
   private String shuZhiToZhiMu(String a){ 
      switch(a){   //若jdk版本switch不支持String,可以将String转换为int类型后判断
         case "10" :
            return "a";
         case "11" :
           return "b";
         case "12" :
           return "c";
         case "13" :
           return "d";
         case "14" :
           return "e";    
         case "15" :
           return "f";  
      }
      return ""+a;
   }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值