有这样一段代码:
输出结果为:-100
解释:
b1+b2=156,且因为默认为int类型,故是由int型转换为byte类型,156转换为二进制为:10011100,此时第一位1表示正负中的负,后7位为0011100,根据补码的表示方法,10011100表示156,对应的00011100,所有位取反为11100011,再加1为11100100,此时有:
11100100 = -(64+32+4) = -100
即byte b3 = -100。
有这样一段代码:
解释:
b1+b2=156,且因为默认为int类型,故是由int型转换为byte类型,156转换为二进制为:10011100,此时第一位1表示正负中的负,后7位为0011100,根据补码的表示方法,10011100表示156,对应的00011100,所有位取反为11100011,再加1为11100100,此时有:
11100100 = -(64+32+4) = -100
即byte b3 = -100。