基本数据类型在计算机中的表示-关于程序输出结果

不懂为什么b会是负号?
而且格式不应该是a=多少,b=多少,a,b 为什么答案只有a=,b= ?

img

你是要考虑越界的问题吗,可能自动类型转换了;在短整型中,32767=2^15-1,这里已经是短整型能够表示的最大正数了,在计算机组成原理里面会学的,计算机中的数用补码表示,32767+1之后会变成下一阶段的数,进位后就成了负数,当然这里会不会进行类型转换得通过试验进行;32767+1用补码表示为1111 1111 1111 1111(正数的补码为本身)+ 0000 0000 0000 0001(正数的补码为本身),但加起来之后变成1 0000 0000 0000 0000,注意这里进位并不考虑在本次计算中,所以结果会变成最小的负数-32768;注释:这里理解并不透彻,可能有些错误,仅作参考。