正数的补码和正数的二进制码是一样的,变为负数是因为相加后值越界了,最高位变成了1,在有符号的数值中,最高位表示正负,所以变成负数
是溢出了你可以搜索《二进制加法溢出的判断》了解一下
1.你是从哪看出这玩意是个负数来的,即使是byte类型,也至少有8位,第8位才是符号位,你这第6位变成1怎么就变成负数了?2.不管什么类型,总有个取值范围,如果存的值已经到上限了,就溢出了呗,溢出了就成乱码了,变成什么都有可能