Warning[Pe061]: integer operation result is out of range

本文探讨了在IAR环境下进行编译时遇到的一个常见警告:integer operation result is out of range,并给出了具体的解决办法。通过将操作数强制转换为无符号整数类型,可以避免整数运算结果超出范围的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.amobbs.com/thread-5580618-1-1.html



#define  j 7000
u16 i ;
i=j * 5 ;
IAR下编译警告:Warning[Pe061]: integer operation result is out of range 
7000*5=35000 < 65535
查到原因:
赋值前,7000×5是作为有符号整数来计算,溢出了,改为(u16)7000*(u16)5(强制为无符号)就是无符号的计算了,一切OK。。。。

    int i,j,k;
    
        for(j=0;j<6;j++)
        {  
            for(i=0;i< (u16)240*(u16)240;i++)
            {  
            }
         }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值