我在程序里定义了一个float型的变量i,编译i=21845*2这条语句会报错,
但是我直接计算出21845*2的值43690,赋给i=43690;就不报错了 ,请问是怎么回事???
integer operation result is out of range
答案:2 悬赏:10 手机版
解决时间 2021-02-19 08:45
- 提问者网友:玫瑰园
- 2021-02-18 08:48
最佳答案
- 五星知识达人网友:鱼芗
- 2021-02-18 10:08
楼主,试试这样,肯定可以
float i=21845f * 2;
float i=21845f * 2;
全部回答
- 1楼网友:白昼之月
- 2021-02-18 10:31
默认数据类型是有符号型,所以无法左移31位的。
加上强制类型再试一试:
canx->tfi3 &= ~((uint32_t)1<<31);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯