本帖最后由 wjxl1026 于 2017-7-31 14:43 编辑
原代码如下
#define Lower_Integral (int32)(32767*2048)
int32 temp_PI = 0;
. . . . . .
temp_PI = Lower_Integral;
编译器报警告#62-D integer operation result is out of range
但是 我把 32767*2048 的结果手工计算出来后,在赋值给temp_PI ,编译器就不会报警告。
#define Lower_Integral (int32)(67106816)
int32 temp_PI = 0;
. . . . . .
temp_PI = Lower_Integral;
编译器就不会报警告。
谁能告诉我这是怎么回事啦! |