Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55469
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 410
  • 用 户 组: 普通用户
  • 注册时间: 2018-08-26 01:30
文章分类

全部博文(51)

文章存档

2020年(2)

2018年(49)

我的朋友

分类: Java

2018-08-29 05:37:30

     最近, 在做东西的时候,需要把整数转换为16进制。原理和书本一样:不断的除以16,余数以倒序的方式排列,既是我们要的16进制数!


  1. import java.util.*;
  2. public class Int2hex {
  3.     /**
  4.      * @param args
  5.      */
  6.     public static void main(String[] args) {
  7.         // TODO Auto-generated method stub
  8.          List<String> lst = new ArrayList<String>();
  9.          int input = 65536;
  10.          if (args.length > 0) {
  11.              input = Integer.parseInt(args[0]) ;
  12.          }
  13.          int temp2 = input;
  14.         
  15.          while (((input % 16) != 0) || (input > 15)) {    
  16.              String str1 = "";
  17.              switch (input % 16) {
  18.              case 0:
  19.                  str1 = "0";
  20.                  break;
  21.              case 1:
  22.                  str1 = "1";
  23.                  break;
  24.              case 2:
  25.                  str1 = "2";
  26.                  break;
  27.              case 3:
  28.                  str1 = "3";
  29.                  break;
  30.              case 4:
  31.                  str1 = "4";
  32.                  break;
  33.              case 5:
  34.                  str1 = "5";
  35.                  break;
  36.              case 6:
  37.                  str1 = "6";
  38.                  break;
  39.              case 7:
  40.                  str1 = "7";
  41.                  break;
  42.              case 8:
  43.                  str1 = "8";
  44.                  break;
  45.              case 9:
  46.                  str1 = "9";
  47.                  break;
  48.              case 10:
  49.                  str1 = "A";
  50.                  break;
  51.              case 11:
  52.                  str1 = "B";
  53.                  break;
  54.              case 12:
  55.                  str1 = "C";
  56.                  break;
  57.              case 13:
  58.                  str1 = "D";
  59.                  break;
  60.              case 14:
  61.                  str1 = "E";
  62.                  break;
  63.              case 15:
  64.                  str1 = "F";
  65.                  break;
  66.              }
  67.              lst.add(str1);
  68.              input = input / 16;
  69.          }
  70.          String temp = "";
  71.          int j = lst.size() - 1;
  72.          for (String string : lst) {
  73.              string = lst.get(j);
  74.              temp += string;
  75.              j--;
  76.          }
  77.          System.out.println("Int: " + temp2 + " Hex: 0X" + temp);
  78.     }
  79. } 

阅读(391) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~