一个十进制数n(n<1000000000)将其转换为十六进制数

解决方案 »

  1.   

    public class StringTest{
    public static void main(String[] args){
    String s = Integer.toString(100,16);//把十进制的100转换成16进制的字符型
    int a = Integer.parseInt(s);//把16进制的字符型转换成整型
    System.out.println(a);
    }
    }
      

  2.   

    int i = 10;
    String str = Integer.toHexString(i);
      

  3.   


    import java.util.Set;
    import java.util.TreeSet;/**
     * 所谓的转成某种进制数,实际上是转成某种进制数来显示吧,实际上是转成了十六进制的字符串表示形式,
     * 因为底层数据结构都是2进制的。
     * 
     * 
     * @author jinxfei
     *
     */
    public class Test {


    public static void main(String[] args) throws Exception{
    int decNumber=12345678;
    String hexStr=Integer.toHexString(decNumber);
    System.out.println(decNumber+"=="+hexStr);


    }输出如下:
    12345678==bc614e
      

  4.   

    public class IntegerDemo{
    public static void main(String[] arg){
      Integer toHex = new Integer(100);//比如你要将100转成16进制
              System.out.print(Integer.toHexString(toHex.intValue()));

    }如果你要转的数很大可以用Long这个类用法和Intger一样
      

  5.   


       int i = 123;
       String str = Integer.toHexString(i);
      

  6.   

    public class Test{
    public static void main(String[] args){
    String s = Integer.toString(123456,16);//把十进制的123456转换成16进制的字符型
    int a = Integer.parseInt(s);//把16进制的字符型转换成整型
    System.out.println(a);
    }
    }
      

  7.   


    System.out.println(Integer.toString(1000000000, 16));
      

  8.   


    学习啦

    String s = Integer.toString(100,16);//把十进制的100转换成16进制的字符型 
    int a = Integer.parseInt(s);//把16进制的字符型转换成整型 
    System.out.println(a); 
      

  9.   

    import java.util.*;public class Test {

    public static void main(String[] args) {
    System.out.print("输入n:");
    Scanner sc = new Scanner(System.in);
    try{
     int n = sc.nextInt();
     String hex = Integer.toHexString(n);
     System.out.println("\n"+hex);
    }catch(InputMismatchException e){
    System.out.println("\n输入错误");
    }

    }
    }
      

  10.   

    String hexStr = String.format("%x", yourvalue);
      

  11.   

    package buffer;import java.nio.ByteBuffer;
    import java.nio.ByteOrder;public class Test {
    public static void main(String[] args) {
    int len = 8;
    ByteBuffer buf = ByteBuffer.allocateDirect(len);
    buf.order(ByteOrder.BIG_ENDIAN);
    buf.putLong(1000000000l);
    buf.rewind();
    byte[] dst = new byte[len];
    buf.get(dst);
    for (int i = 0; i < dst.length; i++) {
    int ch = dst[i] < 0 ? dst[i] + 256 : dst[i];
    int h = ch / 16;
    int l = ch % 16;
    char hc = h > 9 ? (char) ('7' + h) : (char) ('0' + h);
    char lc = l > 9 ? (char) ('7' + l) : (char) ('0' + l);
    System.out.print(hc + "" + lc);
    }
    }
    }
      

  12.   

    高精进制转换的方法跟普通的是一样的啊 
    通过不断的mod16,存下来,在mod,直到到头 
    1111 mod 16-->余7商69,存下来,这是最后一位 
    69 mod 16-->余5商4,存下5,这是第二位 
    4小于16,存下,这是第三位 
    然后正序输出就行了 
    不过高精的话要用高精除单精,麻烦些而已
      

  13.   

    public class test
    {
    public static void main(String [] args)
    {
    int para=31;
    //String str=String.format("%x", para);
    //String str=Integer.toHexString(para);
    String str=Integer.toString(para, 16);
    System.out.println(str);
    //int i=Integer.parseInt("0x"+str);
    int i=Integer.parseInt(str, 16);
    System.out.println(i);
    }
    }
      

  14.   

    我以前写的,还没有整理
    public class ParseClass {
    /*
     * EA154800-->004815EA-->十进制 def-->00000efd-->3837
     * 00000def-->efd00000-->4023386112
     */
    public String processCardNumber(String str) {
    int len = str.length();
    String str0;// 补齐合的字符串
    // 补零处理
    if (len < 8) {
    int a = 8 - len;
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < a; i++) {
    sb.append("0");
    }
    str0 = sb.append(str).toString();
    } else {
    str0 = str;
    }
    System.out.println("原十六进制:" + str);
    System.out.println("补零后:" + str0);
    // 赋值数组
    int a = 0;
    String str1[] = new String[str0.length()/2];
    System.out.println("补零后的长度为:" + str0.length()/2);
    for (int arr = 0; arr < str0.length() / 2; arr++) {
    str1[arr] = str0.substring(a, a + 2);
    a += 2;
    }
    // 排列最后顺序
    StringBuffer sb1 = new StringBuffer();
    for(int c=str1.length-1;c>=0;c--){
    sb1.append(str1[c]);
    }
    String finalS = sb1.toString();
    return finalS;
    // StringBuffer sb1 = new StringBuffer();
    // String finalS = sb1.append(str1[3]).append(str1[2]).append(str1[1])
    // .append(str1[0]).toString();
    // return finalS;
    } // public boolean parse(String s){
    // String str = processCardNumber(s);
    // return false;
    // }
    public long hexToDec(String s) {
    String str = processCardNumber(s);
    long sum = 0;
    System.out.println("将要转换的:" + str);
    char[] chars = str.toCharArray();
    for (int i = 0; i < chars.length; i++) {
    sum += toDec(chars[i], (chars.length - i - 1));
    }
    return sum;
    } private static long toDec(char c, int i) { final double N = 16.0; int n = getNum(c); long r = (long) (n * Math.pow(N, (double) i)); return r; } private static int getNum(char c) {
    int i = 0; switch (c) {
    case '0' : i = 0;
    break;
      case '1' : i = 1;
    break;
    case '2' : i = 2;
    break;
    case '3' : i = 3;
    break;
    case '4' : i = 4;
    break;
    case '5' : i = 5;
    break;
    case '6' : i = 6;
    break;
    case '7' : i = 7;
    break;
    case '8' : i = 8;
    break;
    case '9' : i = 9;
    break;
    case 'A' : i = 10;
    break;
    case 'B' : i = 11;
    break;
    case 'C' : i = 12;
    break;
    case 'D' : i = 13;
    break;
    case 'E' : i = 14;
    break;
    case 'F' : i = 15;
    break;
    case 'a' : i = 10;
    break;
    case 'b' : i = 11;
    break;
    case 'c' : i = 12;
    break;
    case 'd' : i = 13;
    break;
    case 'e' : i = 14;
    break;
    case 'f' : i = 15;
    break;
    }
    return i;
    }
    public static void main(String[] args) {
    ParseClass p = new ParseClass();
    String str = "1234567";
    System.out.println(p.hexToDec(str));
    }
    }
      

  15.   

    String类的String.toHexString(int i);就可以实现了
      

  16.   

    String hexStr=Integer.toHexString(InputNumber);
    这种问题也80分,真有钱