作业帮 > 综合 > 作业

32767和-32768在C语言中有什么含义?

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 07:30:26
32767和-32768在C语言中有什么含义?
32767和-32768在C语言中有什么含义?
说实在的,不是在C语言中,在C语言中没什么特别的地方.
在计算机体系结构里,可能引起人的误解是真的.
对于一个长度为16bit的有符号数,(32位、64位系统里面一般是signed short int,16位系统里面可以是signed short (早期版本int可以省略),或者unsigned),能够表示的最大值和最小值.
其实超出了也不影响什么,只是理解不同.
新版的编译器可以用
int16_t,VC用__int16也可以
看看下面的例子:
signed short x,y;
x=25000+10000;
y=x-5000;
printf("x=%d,y=%d\n",x,y);
y=30000是吧对吗?
x的值呢?x=35000(同余的符号不好打,就写等号吧)=35000-65536 =-30536
其实这个就是“正确结果”,这个结果在做计算的时候就是这样.
就好比你做数学题,6+7,如果做竖式,结果为3,进位为1.
这里面一样的,进位为1,结果-30536.