求助 数据超出范围警告

2019-07-16 14:57发布

本帖最后由 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;
编译器就不会报警告。
谁能告诉我这是怎么回事啦!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。