signed char a = 0xb6;将a转换成signed int型,为什么值是0xffffffb6呢?这中间过程是怎么样的。想了很久,还是不理解[解决办法]0xb6是负数,是用补码表示的,百度一下就知道了[解决办法]符号扩展[解决办法]对于signed 类型的扩展,根据符号为判断,也就是左边第一位的值,如果是1,则扩展的位全部是1,否则是0.unsigned的扩展,全部补零