int i;+
float pi=3.14l59;
float hamwindow[256];
for(i=0;i<256;i++) hamwindow=0.54-0.46*cos(2.0*pi*i/255);
float x,y,z;
z=x+y;
temp=x+temp;
z=temp>>(Qx-Qz),若Qx>=Qz
z=temp<<(Qz-Qx),若Qx<=Qz
设x=l5000,y=20000,则浮点运算值为z=x+y=35000,显然z>32767,因此
Qx=1,Qy=0,Qz=0,则定点加法为:
x=30000;y=20000;
temp=20000<<1=40000;
temp=temp+x=40000+30000=70000;
z=70000L>>1=35000;
float x,y,z;
z=xy;
z=xy
zq*2-Qx=xq*yq*2-(Qx+Qy)
zq=(xqyq)2Qz-(Qx+Qy)
int x,y,z;
long temp;
temp=(long)x;
z=(temp*y)>>(Qx+Qy-Qz);
x=18841;y=18841;
temp=18841L;
z=(18841L*18841)>>(10+9-5)=354983281L>>14=21666;
float x,y,z;
z=x/y;
z=x/y
zq*2-Qz=(xq*2-Qx)/(yq*2-Qy)
zq=(xq*2(Qz-Qx+Qy))/yq
所以定点表示的除法为:
int x,y,z;
long temp;
temp=(long)x;
z=(temp<<(Qz-Qx+Qy))/y;
根据上节,得Qx=10,Qy=9,Qz=15;所以有
z=18841,y=18841;
temp=(long)18841;
z=(18841L<<(15-10+9)/18841=3O8690944L/18841=16384;
因为商z的定标值为15,所以定点z=16384,即为浮点z=16384/215=0.5。
2n-1<|max|<2n
则有
2-Q=2-15*2n=2-(15-n)
Q=15-n
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |