//============= 对分搜寻,插值运算子程序 ==================
UWORD Get_Temp(UWORD AD_Temp) { UWORD *point; UWORD a,b,c; UBYTE i,j,k; point=TempTable; a=*point; b=*(point+100); if(AD_Temp > a ) return 150; if(AD_Temp < b) return 151; point=TempTable; i=0; j=100;
while(1) { k=i+j; k=k>>1; if(*(point+k)>=AD_Temp) i=k; else j=k; if(j==i+1) break; } a=*(point+i); b=*(point+j); c=(AD_Temp-b)*10/(a-b); c=10*(UWORD)j-c; return c; }
|