byte a = (byte)170 ;
System.out.println(a);上述代码运行后,结构是-86。一个很容易就测出来的bug,不知道为啥这么多年来,没人发现。

解决方案 »

  1.   

    ....你发邮件过去不怕被鄙视掉么,把java基础的东西翻出来再看看就明白为什么了
      

  2.   

    byte只有8位的,截取int的后八位
    170的是 1010 1010
    byte算上符号位 取反+1
    1101 0110
    就是-(2的6次方(64)+2的4次方(16)+2的2次方(4)+2的1次方(2))= -86
      

  3.   

    win7计算器--》程序员--》
    十进制,4字节   输入 170
    切换到单字节,得-86