STVD+COSMIC 开发环境
这个问题发现很久了,一直没找到原因,
如定义一个变量
volatile int a;或者 unsigned int a;
这个a数值应该在0~65535,但在使用时这个变量超过32767时就会出错,如a=32768,这样赋值就会提示“数据超出范围”。
比如两个此类型变量进行运算,结果大于32767时就会出错,计算结果会是个错误的数据,编译时并不提示警告;
或者在进行条件判断时如 if(a>32768) 这样编译器就是提示警告“数据超出范围”;
有人知道这个问题应该怎么解决吗?谢谢 |