430乘法运算错误

2019-03-24 09:30发布

while(1)
{     
  // if(a==0XFF)        //显示对应频率ad值
   //{   

   //     if(f1==0)         //直流电压
   //     {
  //          i=f1;
           // LEDA(sqrt(data[i].real*data[i].real+data[i].imag*data[i].imag)/64);
  //      }
      //  else
     //   {
         //   i=f1/8;    //(1024/NUM); //对应频率的ad,有1024/NUM=8的误差
            max=0;
            for(i=0;i<NUM/2;i++)
            {

          x[i].real=0.2;
          x[i].imag=0;
             // result[i]= ((x[i].real)*(x[i].real)+(x[i].imag)*(x[i].imag))*1.0f;
          temp=3.6;
          result[i]=(3.6*3.6);
              if(max<(result[i]))
              {
                max=result[i];
                index=i;

              }
            }

           index=(int)(max*100);

            LEDA((index));


result[i]=(3.6*3.6);这个等式这样没有问题,但是这样写result[i]=(temp*3.6);结果就是错误,一直是4左右,可能是哪方面的问题

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
落花独舞
1楼-- · 2019-03-24 13:05
积分怎么获得呀
feiyun
2楼-- · 2019-03-24 15:09
 精彩回答 2  元偷偷看……
数码小叶
3楼-- · 2019-03-24 18:36
几个类型统一成float看看,你这样描述了一半的感觉,还有你说的对不对是最后的结果,还是那个等式的结果
qiushenghua
4楼-- · 2019-03-24 20:48
觉得是不是溢出了,或者是没转换数据类型就直接赋值/运算了?

一周热门 更多>

相关问题

    相关文章