hehe
兄弟,16进制可以直接赋值给int和显示出来是没有问题的
但是要注意,java是有符号的,无符号的值10进制的2147487747在java里面就变成有符号的-2147479549拉

解决方案 »

  1.   

    超过了int的定义:
    -2147483648~2147483647这样定义就没错了
    long i= 0x80001003;
    System.out.println("value: "+i);
      

  2.   

    哎,JAVA是用补码表示整型的,第一位为符号位,所以0x80001003本来就是个负数。变成正的在它前面加个-号不就得了。System.out.println(-0x80001003);
      

  3.   

    to webwing:多谢;
    to xiao_yuer&alphazhao:我觉得webwing讲的更有道理。你们的意见呢?