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

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++)
            {  
            }
         }

你可能感兴趣的:(msp430)