long转换成int的问题
long tmp1,tmp2;
if(yn==0)
{
yn=1;
if(e_out==0)
e_out=1; // let 0/0=1
}
if(d_rec==0)
{
d_rec=1;
if(e_out==0)
e_out=1; // let 0/0=1
}
tmp1 =div(e_out<<7,yn);//*128/yn;
if(tmp1>16384)
tmp1 = 16384;
else
if(tmp1<-16384)
tmp1 = -16384;
tmp2 =div(e_out<<7,d_rec);//*128/d_rec;
if(tmp2>16384)
tmp2 = 16384;
else
if(tmp2<-16384)
tmp2 = -16384;
tmp_noise += (tmp1*tmp1+tmp2*tmp2);
if(tmp_noise>0x3fffffff)
tmp_noise = 0x3fffffff;
noise_offline = sqrt(tmp_noise);
其中的变量都定义过,tmp_noise是long型,现在需要将tmp_noise转换成int型,该怎么做?直接强制转换肯定是错的。请大虾们帮忙!谢谢大家!