作业帮 > 综合 > 作业

c语言怎么判断大于32767的,或者小于-32768的?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 18:28:20
c语言怎么判断大于32767的,或者小于-32768的?
对于一个16位有符号数,c语言通常用》32767或者小于-32768来判断结果是否益处,我想问的是,对于有符号数的32767+1之后不就变成-32768了吗,那么If(x>32676)还怎么判断?同理-32768-1就等于+1了,还怎么用If(x
当然你说的也对,但是我们也可以走点弯路.定义最大值 最小值都是16位,比如max=32767
min=-32768 将运算结果存入32变量中,然后与max min 做比较看是否溢出不就可以了
例子:
int a;
short int b=32767;
a=b++;
if(a>max){
溢出
}
else b=a;
再问: 实际过程中是没有放在32位的 用if语句也能成功 为什么?
再答: 唯一可能是隐式转换成了int 型,不然就不太可能会用if语句还能成功