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
{
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左右,可能是哪方面的问题
现在证明把temp定义成float是错误,定义成int是正确的,不知道为啥
觉得是不是溢出了,或者是没转换数据类型就直接赋值/运算了?