只拿byte来说吧,因为道理都一样.我们知道byte在内存中只分配8个二进制位的.那么这8个二进制位所表示的数值范围就是-128到127.如果存入byte的数值不在这个范围内,那么会只取该数值二进制的最低8位...所有在第一个输出语句中,a自减一次为-129..它的二进制表示为11111111 01111111,byte只会取它的最后8位,也就是01111111,这个数换成十进制正好是127...所有第一个输出为 a=127;第二个输出语句中把a的值自增一次赋给b,这时b=128,,它的二进制为00000000 10000000,
同样取最低8位,就是10000000,,这个数换成十进制就是-128了..这和我们现实数学中的数学常理有点不一样,呵呵, |