C语言中short代表短整型,数值范围为-32768---32767,以下程序为什么运行后输出结果

C语言中short代表短整型,数值范围为-32768---32767,以下程序为什么运行后输出结果是c=32767?跪求大神解释

#include <stdio.h>
main()
{
​short a,b;
short c;
​a=-32768;
​b=1;
​c=a-b;
​printf("c=%d\n",c);
}

因为用补码存储的数据,-32768在二进制存储的是1000000000000000,减去1之后就是0111111111111111,变成十进制就是32767追答

你可以百度一下补码

追问

行,我去看看

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网