我想把一个int类型的10进制的数转化为一个16进制的int类型的数
而且要求标准输出,即如果1转化为16进制要求是0x01
Integer.toHexString貌似是将int类型转化成了String类型了
我想要的是int类型

解决方案 »

  1.   

    LZ希望得到的是什么呢?
    int i = 0x01;和 int i = 1;在内存上是一样的,所以没有一个int类型直接能表现出16进制,内存都是2进制,书写要自己来控制进制,0x表示16进制,0打头表示8进制,缺省是10进制,都是一个效果,也就是说不管用什么进制来书写,内存中保存的二进制都是一样的,即
    int i10 = 1; 和 int i16 = 1 的效果是一样的,(i10表示10进制,i16表示16进制)
    所以不存在什么 i16 = i10这样的转换所以想让输出结果表现为16进制,就要以字符串的方式输出,即Integer.toHexString或使用String.format("%08x", i)
      

  2.   

    我想用Integer.toHexString转化16进制,但是它得出来是String型,我想要取它的值,即int型
      

  3.   

    printf();
    一个int类型的10进制的数转化为一个16进制的int类型 
    int型都一样的啊
    有点搞不懂
      

  4.   

    我倒 ... int是十进制的怎么变也变不了十六的啊
    十进制的是 1 2 3 4 5 6 7 8 9 0
    十六进制的是 1 2 3 4 5 6 7 8 9 0 A B C D E  这后面的没法表示的 所以楼主的问题无解
      

  5.   

    说的很详细了 0x01不是int类型 祝楼主好运
      

  6.   

    哦,我的意思是我想对十六进制进行加减,成不?
    是不是要转化为10进制,加减后再转换回去?
    Integer.toHexString出来是String型,不能进行加减吧?
      

  7.   


    LZ的意思是对十六进制进行加减嘛,那直接用 int a = 0x01 + 0x02; 不就行了吗?此时得到的a为十进制的整数
      

  8.   

    Integer.toHexString(第一个是字符串,第二个是进制)